ultimatedarktower 4.1.0 → 5.0.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 (77) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/esm/index.mjs +1598 -556
  3. package/dist/src/UltimateDarkTower.d.ts +5 -13
  4. package/dist/src/UltimateDarkTower.js +33 -44
  5. package/dist/src/UltimateDarkTower.js.map +1 -1
  6. package/dist/src/adapters/NodeBluetoothAdapter.js +7 -9
  7. package/dist/src/adapters/NodeBluetoothAdapter.js.map +1 -1
  8. package/dist/src/adapters/WebBluetoothAdapter.js +1 -0
  9. package/dist/src/adapters/WebBluetoothAdapter.js.map +1 -1
  10. package/dist/src/data/board/index.d.ts +9 -0
  11. package/dist/src/data/board/index.js +26 -0
  12. package/dist/src/data/board/index.js.map +1 -0
  13. package/dist/src/data/board/udtBoardAdjacency.js.map +1 -0
  14. package/dist/src/data/board/udtBoardAnchors.js.map +1 -0
  15. package/dist/src/data/board/udtGameBoard.js.map +1 -0
  16. package/dist/src/data/index.d.ts +19 -0
  17. package/dist/src/data/index.js +56 -0
  18. package/dist/src/data/index.js.map +1 -0
  19. package/dist/src/data/udtBoxInventory.d.ts +47 -0
  20. package/dist/src/data/udtBoxInventory.js +679 -0
  21. package/dist/src/data/udtBoxInventory.js.map +1 -0
  22. package/dist/src/{udtFoes.d.ts → data/udtFoes.d.ts} +1 -1
  23. package/dist/src/data/udtFoes.js.map +1 -0
  24. package/dist/src/data/udtGameContent.d.ts +418 -0
  25. package/dist/src/data/udtGameContent.js +293 -0
  26. package/dist/src/data/udtGameContent.js.map +1 -0
  27. package/dist/src/data/udtHeroes.js.map +1 -0
  28. package/dist/src/data/udtMonuments.js.map +1 -0
  29. package/dist/src/index.d.ts +2 -15
  30. package/dist/src/index.js +30 -55
  31. package/dist/src/index.js.map +1 -1
  32. package/dist/src/seed/index.d.ts +7 -0
  33. package/dist/src/seed/index.js +24 -0
  34. package/dist/src/seed/index.js.map +1 -0
  35. package/dist/src/seed/udtSeedParser.js.map +1 -0
  36. package/dist/src/{udtSystemRandom.d.ts → seed/udtSystemRandom.d.ts} +6 -0
  37. package/dist/src/{udtSystemRandom.js → seed/udtSystemRandom.js} +21 -2
  38. package/dist/src/seed/udtSystemRandom.js.map +1 -0
  39. package/dist/src/udtBleConnection.js +3 -2
  40. package/dist/src/udtBleConnection.js.map +1 -1
  41. package/dist/src/udtCommandFactory.d.ts +1 -1
  42. package/dist/src/udtCommandFactory.js +4 -2
  43. package/dist/src/udtCommandFactory.js.map +1 -1
  44. package/dist/src/udtDiagnostics.js +2 -1
  45. package/dist/src/udtDiagnostics.js.map +1 -1
  46. package/dist/src/udtHelpers.js +1 -4
  47. package/dist/src/udtHelpers.js.map +1 -1
  48. package/dist/src/udtLogger.js +11 -6
  49. package/dist/src/udtLogger.js.map +1 -1
  50. package/dist/src/udtTowerCommands.d.ts +10 -0
  51. package/dist/src/udtTowerCommands.js +66 -37
  52. package/dist/src/udtTowerCommands.js.map +1 -1
  53. package/dist/src/udtTowerResponse.d.ts +9 -0
  54. package/dist/src/udtTowerResponse.js +12 -1
  55. package/dist/src/udtTowerResponse.js.map +1 -1
  56. package/package.json +1 -1
  57. package/dist/src/udtBoardAdjacency.js.map +0 -1
  58. package/dist/src/udtBoardAnchors.js.map +0 -1
  59. package/dist/src/udtFoes.js.map +0 -1
  60. package/dist/src/udtGameBoard.js.map +0 -1
  61. package/dist/src/udtHeroes.js.map +0 -1
  62. package/dist/src/udtMonuments.js.map +0 -1
  63. package/dist/src/udtSeedParser.js.map +0 -1
  64. package/dist/src/udtSystemRandom.js.map +0 -1
  65. /package/dist/src/{udtBoardAdjacency.d.ts → data/board/udtBoardAdjacency.d.ts} +0 -0
  66. /package/dist/src/{udtBoardAdjacency.js → data/board/udtBoardAdjacency.js} +0 -0
  67. /package/dist/src/{udtBoardAnchors.d.ts → data/board/udtBoardAnchors.d.ts} +0 -0
  68. /package/dist/src/{udtBoardAnchors.js → data/board/udtBoardAnchors.js} +0 -0
  69. /package/dist/src/{udtGameBoard.d.ts → data/board/udtGameBoard.d.ts} +0 -0
  70. /package/dist/src/{udtGameBoard.js → data/board/udtGameBoard.js} +0 -0
  71. /package/dist/src/{udtFoes.js → data/udtFoes.js} +0 -0
  72. /package/dist/src/{udtHeroes.d.ts → data/udtHeroes.d.ts} +0 -0
  73. /package/dist/src/{udtHeroes.js → data/udtHeroes.js} +0 -0
  74. /package/dist/src/{udtMonuments.d.ts → data/udtMonuments.d.ts} +0 -0
  75. /package/dist/src/{udtMonuments.js → data/udtMonuments.js} +0 -0
  76. /package/dist/src/{udtSeedParser.d.ts → seed/udtSeedParser.d.ts} +0 -0
  77. /package/dist/src/{udtSeedParser.js → seed/udtSeedParser.js} +0 -0
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ // Return to Dark Tower — game content (heroes, virtues, foes, adversaries, companions).
3
+ // Gameplay-facing data for UDT apps. Box/component counts live in udtBoxInventory.ts.
4
+ // Names use the spreadsheet's wording (not reconciled with TOWER_AUDIO_LIBRARY keys).
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.kingdomVirtues = exports.KINGDOM_VIRTUES = exports.companions = exports.COMPANIONS = exports.adversaries = exports.ADVERSARIES = exports.foes = exports.FOES = exports.heroes = exports.HEROES = void 0;
7
+ /** All heroes, keyed by name for O(1) lookup (e.g. HEROES.Spymaster). */
8
+ exports.HEROES = {
9
+ Spymaster: {
10
+ name: 'Spymaster',
11
+ expansion: 'Base Game',
12
+ bannerAction: 'Place your hero on any space in your current kingdom.',
13
+ defaultVirtues: [
14
+ { name: 'Alert', ability: '+1 Stealth Advantage.' },
15
+ { name: 'Swift', ability: 'Your base move is 4.' },
16
+ ],
17
+ unlockableVirtues: [
18
+ { name: 'Resourceful', ability: 'At the end of each month, gain 15 warriors.' },
19
+ {
20
+ name: 'Fortunate',
21
+ ability: 'You may Reinforce twice per turn at the same building.',
22
+ },
23
+ {
24
+ name: 'Unseen',
25
+ ability: 'When you complete a monthly quest, you may remove a foe instead of gaining spirit.',
26
+ },
27
+ ],
28
+ },
29
+ 'Brutal Warlord': {
30
+ name: 'Brutal Warlord',
31
+ expansion: 'Base Game',
32
+ bannerAction: 'Gain 5 warriors.',
33
+ defaultVirtues: [
34
+ { name: 'Baleful', ability: '+1 Melee Advantage.' },
35
+ { name: 'Veteran', ability: '+1 Wild Advantage when you Battle.' },
36
+ ],
37
+ unlockableVirtues: [
38
+ { name: 'Inspiring', ability: 'After you Reinforce, also gain 6 warriors.' },
39
+ {
40
+ name: 'Callous',
41
+ ability: 'After you Battle, if you lost at least 10 warriors, gain a treasure from the market.',
42
+ },
43
+ { name: 'Relentless', ability: 'If you double your move, gain +1 Wild Advantage.' },
44
+ ],
45
+ },
46
+ 'Orphaned Scion': {
47
+ name: 'Orphaned Scion',
48
+ expansion: 'Base Game',
49
+ bannerAction: 'Gain 1 spirit.',
50
+ defaultVirtues: [
51
+ { name: 'Arcane', ability: '+1 Magic Advantage.' },
52
+ { name: 'Generous', ability: 'After you Cleanse, remove 1 skull from any building.' },
53
+ ],
54
+ unlockableVirtues: [
55
+ {
56
+ name: 'Infused',
57
+ ability: 'At the start of your turn, remove 1 skull from a building in your home kingdom.',
58
+ },
59
+ {
60
+ name: 'Blessed',
61
+ ability: 'Spend 1 spirit to prevent up to 6 warrior losses from a battle card or dungeon room.',
62
+ },
63
+ {
64
+ name: 'Anointed',
65
+ ability: '+1 Wild Advantage for each building with no skulls on or adjacent to your space.',
66
+ },
67
+ ],
68
+ },
69
+ 'Relic Hunter': {
70
+ name: 'Relic Hunter',
71
+ expansion: 'Base Game',
72
+ bannerAction: 'Gain 1 potion.',
73
+ defaultVirtues: [
74
+ { name: 'Precise', ability: '+1 Humanoid Advantage.' },
75
+ {
76
+ name: 'Prepared',
77
+ ability: 'When you Reinforce at a bazaar, spend 1 less spirit to gain a treasure.',
78
+ },
79
+ ],
80
+ unlockableVirtues: [
81
+ { name: 'Crafty', ability: 'When you spend a potion, double the number on it.' },
82
+ {
83
+ name: 'Lucky',
84
+ ability: 'When you spend (not lose) a treasure, gain the top card of the treasure deck.',
85
+ },
86
+ { name: 'Inventive', ability: 'Spend 4 potions to remove a foe from your space.' },
87
+ ],
88
+ },
89
+ 'Haunted Recluse': {
90
+ name: 'Haunted Recluse',
91
+ expansion: 'Alliances',
92
+ bannerAction: 'Move 1 skull from any building to any other building with 2 or fewer skulls.',
93
+ defaultVirtues: [
94
+ { name: 'Spiritreaver', ability: '+1 Undead Advantage.' },
95
+ {
96
+ name: 'Skullweaver',
97
+ ability: 'When a skull emerges in your home kingdom, you can place it on any building with 2 or fewer skulls in any kingdom.',
98
+ },
99
+ ],
100
+ unlockableVirtues: [
101
+ {
102
+ name: 'Shadowspinner',
103
+ ability: '+1 Wild Advantage for each building with skulls on or adjacent to your space.',
104
+ },
105
+ {
106
+ name: 'Soulreaper',
107
+ ability: 'Prevent up to 2 warrior losses per battle card for each skull on or adjacent to your space.',
108
+ },
109
+ {
110
+ name: 'Sinbearer',
111
+ ability: 'At the end of the month you can spend up to 12 warriors to remove all skulls from your current kingdom.',
112
+ },
113
+ ],
114
+ },
115
+ Archwright: {
116
+ name: 'Archwright',
117
+ expansion: 'Alliances',
118
+ bannerAction: 'Place a battlement on any space or move a battlement up to 2 spaces.',
119
+ defaultVirtues: [
120
+ { name: 'Innovative', ability: '+1 Beast Advantage.' },
121
+ { name: 'Clever', ability: 'Battlements give you +2 Wild Advantages (instead of +1).' },
122
+ ],
123
+ unlockableVirtues: [
124
+ {
125
+ name: 'Tactical',
126
+ ability: 'While on a battlement, you can Battle a foe on an adjacent space. (Terrain advantages use the space you are on.)',
127
+ },
128
+ {
129
+ name: 'Wily',
130
+ ability: 'Battlements give you advantages when you Quest (in addition to when you Battle).',
131
+ },
132
+ {
133
+ name: 'Exalted',
134
+ ability: 'While on a battlement, you may Cleanse to remove skulls from all adjacent buildings.',
135
+ },
136
+ ],
137
+ },
138
+ 'Relentless Warden': {
139
+ name: 'Relentless Warden',
140
+ expansion: 'Covenant',
141
+ bannerAction: 'Place quarry token on a foe if it is not already, else move quarry token up to 2 spaces.',
142
+ defaultVirtues: [
143
+ { name: 'Perceptive', ability: '+1 Wild Advantage vs. your quarry.' },
144
+ {
145
+ name: 'Guarded',
146
+ ability: 'Prevent up to 3 warrior losses per battle card when you Battle your quarry.',
147
+ },
148
+ ],
149
+ unlockableVirtues: [
150
+ { name: 'Keen-Eyed', ability: '+2 Wild Advantages vs. your quarry.' },
151
+ {
152
+ name: 'Instinctive',
153
+ ability: 'You may remove your quarry token to ignore your quarry during its strike event.',
154
+ },
155
+ {
156
+ name: 'Inspiring',
157
+ ability: 'When you defeat your quarry, remove all skulls on or adjacent to your space.',
158
+ },
159
+ ],
160
+ },
161
+ 'Undaunted Aegis': {
162
+ name: 'Undaunted Aegis',
163
+ expansion: 'Covenant',
164
+ bannerAction: 'For each corruption you have, gain 3 warriors. You may spend 10 warriors to remove one of your corruptions.',
165
+ defaultVirtues: [
166
+ {
167
+ name: 'Ascetic',
168
+ ability: 'Gain 1 spirit for each battle card you spend no advantages on.',
169
+ },
170
+ {
171
+ name: 'Iron-Willed',
172
+ ability: 'You can have an additional corruption. Start the game with 1 random corruption.',
173
+ },
174
+ ],
175
+ unlockableVirtues: [
176
+ { name: 'Emboldened', ability: '+1 Wild Advantage for each corruption you have.' },
177
+ {
178
+ name: 'Resolute',
179
+ ability: 'When you Reinforce, spend 1 less spirit for each corruption you have.',
180
+ },
181
+ {
182
+ name: 'Steeled',
183
+ ability: 'Once per turn, if another hero would gain a corruption, you may gain it instead and gain 2 spirit.',
184
+ },
185
+ ],
186
+ },
187
+ 'Devious Swindler': {
188
+ name: 'Devious Swindler',
189
+ expansion: 'Covenant',
190
+ bannerAction: 'Roll the haggle die and gain the result.',
191
+ defaultVirtues: [
192
+ {
193
+ name: 'Inventive',
194
+ ability: 'When you Battle, gain all advantages in the treasure market.',
195
+ },
196
+ {
197
+ name: 'Joyful',
198
+ ability: 'When you roll the haggle die, ignore the Cancelled symbol.',
199
+ },
200
+ ],
201
+ unlockableVirtues: [
202
+ {
203
+ name: 'Fortuitous',
204
+ ability: 'After you roll the haggle die, you may reroll once and take either result.',
205
+ },
206
+ {
207
+ name: 'Opportunistic',
208
+ ability: 'When any player gains a treasure from the treasure market, you gain a blessing.',
209
+ },
210
+ {
211
+ name: 'Calculating',
212
+ ability: 'You may ignore warrior and spirit losses on critical hit battle cards.',
213
+ },
214
+ ],
215
+ },
216
+ 'Reverent Astromancer': {
217
+ name: 'Reverent Astromancer',
218
+ expansion: 'Covenant',
219
+ bannerAction: 'Remove a skull on or adjacent to your space.',
220
+ defaultVirtues: [
221
+ {
222
+ name: 'Well Versed',
223
+ ability: 'If you remove a skull with your Banner action, gain a blessing.',
224
+ },
225
+ {
226
+ name: 'Pious',
227
+ ability: 'At the start of each month, prepare spells equal to the month number.',
228
+ },
229
+ ],
230
+ unlockableVirtues: [
231
+ { name: 'Exalted', ability: 'You can prepare invocations.' },
232
+ { name: 'Zealous', ability: 'Whenever you cast a spell, gain a blessing.' },
233
+ {
234
+ name: 'Bounteous',
235
+ ability: 'Once per turn, when you cast a spell, gain the top card of the treasure deck.',
236
+ },
237
+ ],
238
+ },
239
+ };
240
+ /** Heroes as a list, for iteration. */
241
+ exports.heroes = Object.values(exports.HEROES);
242
+ /** Foes keyed by name. The adversary (level 5) lives in ADVERSARIES. */
243
+ exports.FOES = {
244
+ Brigands: { name: 'Brigands', level: 2 },
245
+ Oreks: { name: 'Oreks', level: 2 },
246
+ 'Shadow Wolves': { name: 'Shadow Wolves', level: 2 },
247
+ 'Spine Fiend': { name: 'Spine Fiend', level: 2 },
248
+ 'Clan Of Neuri': { name: 'Clan Of Neuri', level: 3 },
249
+ 'Frost Troll': { name: 'Frost Troll', level: 3 },
250
+ Lemure: { name: 'Lemure', level: 3 },
251
+ 'Widowmade Spider': { name: 'Widowmade Spider', level: 3 },
252
+ Dragon: { name: 'Dragon', level: 4 },
253
+ Mormo: { name: 'Mormo', level: 4 },
254
+ Striga: { name: 'Striga', level: 4 },
255
+ Titan: { name: 'Titan', level: 4 },
256
+ };
257
+ exports.foes = Object.values(exports.FOES);
258
+ /** Adversaries keyed by name. */
259
+ exports.ADVERSARIES = {
260
+ Ashstrider: { name: 'Ashstrider', level: 5 },
261
+ 'Bane Of Omens': { name: 'Bane Of Omens', level: 5 },
262
+ 'Empress Of Shades': { name: 'Empress Of Shades', level: 5 },
263
+ 'Gaze Eternal': { name: 'Gaze Eternal', level: 5 },
264
+ Gravemaw: { name: 'Gravemaw', level: 5 },
265
+ 'Isa The Exile': { name: 'Isa The Exile', level: 5 },
266
+ 'Lingering Rot': { name: 'Lingering Rot', level: 5 },
267
+ "U'tuk-Ku The Ice Herald": { name: "U'tuk-Ku The Ice Herald", level: 5 },
268
+ };
269
+ exports.adversaries = Object.values(exports.ADVERSARIES);
270
+ /** Companions keyed by name. */
271
+ exports.COMPANIONS = {
272
+ Gleb: { name: 'Gleb', title: 'The Outlaw King' },
273
+ Grigor: { name: 'Grigor', title: 'The Unbreakable' },
274
+ Hakan: { name: 'Hakan', title: 'The Artificer' },
275
+ Letha: { name: 'Letha', title: 'The Dryad' },
276
+ Miras: { name: 'Miras', title: 'The Horselord' },
277
+ Nimet: { name: 'Nimet', title: 'The Fathomless' },
278
+ Tomas: { name: 'Tomas', title: 'The Scout' },
279
+ Vasa: { name: 'Vasa', title: 'The Devine' },
280
+ Yana: { name: 'Yana', title: 'The Assassin' },
281
+ Zaida: { name: 'Zaida', title: 'The Efreet' },
282
+ };
283
+ exports.companions = Object.values(exports.COMPANIONS);
284
+ /** Kingdom virtues, keyed by kingdom direction. A hero takes the one for their
285
+ * home/seating kingdom at setup (not hero-specific). */
286
+ exports.KINGDOM_VIRTUES = {
287
+ East: { name: 'Champion of the East', ability: '+2 Wild Advantages in hills.' },
288
+ North: { name: 'Champion of the North', ability: '+2 Wild Advantages in mountains.' },
289
+ South: { name: 'Champion of the South', ability: '+2 Wild Advantages in deserts.' },
290
+ West: { name: 'Champion of the West', ability: '+2 Wild Advantages in forests.' },
291
+ };
292
+ exports.kingdomVirtues = Object.values(exports.KINGDOM_VIRTUES);
293
+ //# sourceMappingURL=udtGameContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtGameContent.js","sourceRoot":"","sources":["../../../src/data/udtGameContent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtHeroes.js","sourceRoot":"","sources":["../../../src/data/udtHeroes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAuBH,oFAAoF;AACvE,QAAA,MAAM,GAAoB;IACrC,WAAW;IACX,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;IAChE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;IAChE,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE;IAC5D,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE;IACtD,gBAAgB;IAChB,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;IAC7D,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE;IACvE,eAAe;IACf,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE;IACxE,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE;IAC1E,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,EAAE;IAChF,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE;IACtE,4CAA4C;IAC5C,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE;IACrE,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE;IAC3E,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE;IACzE,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,aAAa,EAAE;CAClF,CAAC;AAEF,yCAAyC;AAC5B,QAAA,UAAU,GAAmC,MAAM,CAAC,MAAM,CACrE,cAAM,CAAC,MAAM,CAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAChD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CACP,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtMonuments.js","sourceRoot":"","sources":["../../../src/data/udtMonuments.ts"],"names":[],"mappings":";;;AAsBA,uDAAuD;AAC1C,QAAA,SAAS,GAAwB;IAC5C,EAAE,EAAE,EAAE,wBAAwB,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,UAAU,EAAE;IACpF,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5D,EAAE,EAAE,EAAE,+BAA+B,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,UAAU,EAAE;IAClG,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,UAAU,EAAE;IAC1E,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE;IAC5E,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE;IACxE,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE;IACpE,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;CAC/D,CAAC;AAEF,4CAA4C;AAC/B,QAAA,cAAc,GAA2C,MAAM,CAAC,MAAM,CACjF,iBAAS,CAAC,MAAM,CAA+B,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IAC/D,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CACP,CAAC"}
@@ -18,20 +18,7 @@ export type { TowerEventCallbacks, DeviceInformation, ConnectionStatus } from '.
18
18
  export { UdtDiagnosticsRecorder, InMemorySink, bytesToHex } from './udtDiagnostics';
19
19
  export type { DiagnosticsConfig, DiagnosticsSink, DiagEvent, DiagEventKind, DisconnectCause, IncidentReport, BatterySample, CommandQueueSnapshot, } from './udtDiagnostics';
20
20
  export { IndexedDBSink } from './sinks/IndexedDBSink';
21
- export { charToValue, valueToChar, validateSeed, decodeSeed, decodeRngSeed, createSeed, encodeSeed, compareSeedsRaw, dumpSeedChars, TIER1_FOES, TIER2_FOES, TIER3_FOES, ADVERSARIES, ALLIES, DIFFICULTIES, GAME_SOURCES, } from './udtSeedParser';
22
- export type { Tier1Foe, Tier2Foe, Tier3Foe, Adversary, Ally, Difficulty, GameSource, ExpansionType, Confidence, SeedBank, DecodedSeed, SeedConfig, CharDiff, SeedComparison, CharInfo, CharDump, } from './udtSeedParser';
23
- export { HEROES, HERO_BY_ID } from './udtHeroes';
24
- export type { Hero, HeroId, ContentSource } from './udtHeroes';
25
- export { MONUMENTS, MONUMENT_BY_ID } from './udtMonuments';
26
- export type { Monument, MonumentId } from './udtMonuments';
27
- export { FOE_STATUSES, FOES, ADVERSARY_ROSTER, ALL_FOES, FOE_BY_ID, FOE_BY_NAME } from './udtFoes';
28
- export type { FoeStatus, FoeLevel, FoeId, FoeName, Foe } from './udtFoes';
29
- export { SystemRandom } from './udtSystemRandom';
30
- export { BOARD_LOCATIONS, BOARD_LOCATION_BY_NAME, BOARD_GROUPINGS, } from './udtGameBoard';
31
- export type { TerrainType, BuildingType, BoardKingdom, BoardGrouping, BoardLocation } from './udtGameBoard';
32
- export { BOARD_ANCHORS, BOARD_IMAGE_INFO } from './udtBoardAnchors';
33
- export type { Anchor, AnchorSlot, LocationAnchors, BoardAnchorMap, BoardImageInfo } from './udtBoardAnchors';
34
- export { BOARD_ADJACENCY, neighborsOf, stepDistance, shortestPath } from './udtBoardAdjacency';
35
- export type { BoardAdjacency } from './udtBoardAdjacency';
21
+ export * as data from './data';
22
+ export * as seed from './seed';
36
23
  import UltimateDarkTower from './UltimateDarkTower';
37
24
  export default UltimateDarkTower;
package/dist/src/index.js CHANGED
@@ -14,15 +14,36 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
14
14
  if (k2 === undefined) k2 = k;
15
15
  o[k2] = m[k];
16
16
  }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
17
22
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
23
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
24
  };
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
20
42
  var __importDefault = (this && this.__importDefault) || function (mod) {
21
43
  return (mod && mod.__esModule) ? mod : { "default": mod };
22
44
  };
23
45
  Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.FOE_BY_NAME = exports.FOE_BY_ID = exports.ALL_FOES = exports.ADVERSARY_ROSTER = exports.FOES = exports.FOE_STATUSES = exports.MONUMENT_BY_ID = exports.MONUMENTS = exports.HERO_BY_ID = exports.HEROES = exports.GAME_SOURCES = exports.DIFFICULTIES = exports.ALLIES = exports.ADVERSARIES = exports.TIER3_FOES = exports.TIER2_FOES = exports.TIER1_FOES = exports.dumpSeedChars = exports.compareSeedsRaw = exports.encodeSeed = exports.createSeed = exports.decodeRngSeed = exports.decodeSeed = exports.validateSeed = exports.valueToChar = exports.charToValue = exports.IndexedDBSink = exports.bytesToHex = exports.InMemorySink = exports.UdtDiagnosticsRecorder = exports.parseDifferentialReadings = exports.createDefaultTowerState = exports.isCalibrated = exports.rtdt_pack_state = exports.rtdt_unpack_state = exports.BluetoothAdapterFactory = exports.BluetoothPlatform = exports.BluetoothTimeoutError = exports.BluetoothUserCancelledError = exports.BluetoothDeviceNotFoundError = exports.BluetoothConnectionError = exports.BluetoothError = exports.milliVoltsToPercentageNumber = exports.milliVoltsToPercentage = exports.BufferOutput = exports.DOMOutput = exports.ConsoleOutput = exports.Logger = exports.logger = exports.UltimateDarkTower = void 0;
25
- exports.shortestPath = exports.stepDistance = exports.neighborsOf = exports.BOARD_ADJACENCY = exports.BOARD_IMAGE_INFO = exports.BOARD_ANCHORS = exports.BOARD_GROUPINGS = exports.BOARD_LOCATION_BY_NAME = exports.BOARD_LOCATIONS = exports.SystemRandom = void 0;
46
+ exports.seed = exports.data = exports.IndexedDBSink = exports.bytesToHex = exports.InMemorySink = exports.UdtDiagnosticsRecorder = exports.parseDifferentialReadings = exports.createDefaultTowerState = exports.isCalibrated = exports.rtdt_pack_state = exports.rtdt_unpack_state = exports.BluetoothAdapterFactory = exports.BluetoothPlatform = exports.BluetoothTimeoutError = exports.BluetoothUserCancelledError = exports.BluetoothDeviceNotFoundError = exports.BluetoothConnectionError = exports.BluetoothError = exports.milliVoltsToPercentageNumber = exports.milliVoltsToPercentage = exports.BufferOutput = exports.DOMOutput = exports.ConsoleOutput = exports.Logger = exports.logger = exports.UltimateDarkTower = void 0;
26
47
  var UltimateDarkTower_1 = require("./UltimateDarkTower");
27
48
  Object.defineProperty(exports, "UltimateDarkTower", { enumerable: true, get: function () { return __importDefault(UltimateDarkTower_1).default; } });
28
49
  __exportStar(require("./udtConstants"), exports);
@@ -58,59 +79,13 @@ Object.defineProperty(exports, "InMemorySink", { enumerable: true, get: function
58
79
  Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return udtDiagnostics_1.bytesToHex; } });
59
80
  var IndexedDBSink_1 = require("./sinks/IndexedDBSink");
60
81
  Object.defineProperty(exports, "IndexedDBSink", { enumerable: true, get: function () { return IndexedDBSink_1.IndexedDBSink; } });
61
- // Seed parser
62
- var udtSeedParser_1 = require("./udtSeedParser");
63
- Object.defineProperty(exports, "charToValue", { enumerable: true, get: function () { return udtSeedParser_1.charToValue; } });
64
- Object.defineProperty(exports, "valueToChar", { enumerable: true, get: function () { return udtSeedParser_1.valueToChar; } });
65
- Object.defineProperty(exports, "validateSeed", { enumerable: true, get: function () { return udtSeedParser_1.validateSeed; } });
66
- Object.defineProperty(exports, "decodeSeed", { enumerable: true, get: function () { return udtSeedParser_1.decodeSeed; } });
67
- Object.defineProperty(exports, "decodeRngSeed", { enumerable: true, get: function () { return udtSeedParser_1.decodeRngSeed; } });
68
- Object.defineProperty(exports, "createSeed", { enumerable: true, get: function () { return udtSeedParser_1.createSeed; } });
69
- Object.defineProperty(exports, "encodeSeed", { enumerable: true, get: function () { return udtSeedParser_1.encodeSeed; } });
70
- Object.defineProperty(exports, "compareSeedsRaw", { enumerable: true, get: function () { return udtSeedParser_1.compareSeedsRaw; } });
71
- Object.defineProperty(exports, "dumpSeedChars", { enumerable: true, get: function () { return udtSeedParser_1.dumpSeedChars; } });
72
- Object.defineProperty(exports, "TIER1_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER1_FOES; } });
73
- Object.defineProperty(exports, "TIER2_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER2_FOES; } });
74
- Object.defineProperty(exports, "TIER3_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER3_FOES; } });
75
- Object.defineProperty(exports, "ADVERSARIES", { enumerable: true, get: function () { return udtSeedParser_1.ADVERSARIES; } });
76
- Object.defineProperty(exports, "ALLIES", { enumerable: true, get: function () { return udtSeedParser_1.ALLIES; } });
77
- Object.defineProperty(exports, "DIFFICULTIES", { enumerable: true, get: function () { return udtSeedParser_1.DIFFICULTIES; } });
78
- Object.defineProperty(exports, "GAME_SOURCES", { enumerable: true, get: function () { return udtSeedParser_1.GAME_SOURCES; } });
79
- // Hero + monument reference rosters (board content; not seed-encoded)
80
- var udtHeroes_1 = require("./udtHeroes");
81
- Object.defineProperty(exports, "HEROES", { enumerable: true, get: function () { return udtHeroes_1.HEROES; } });
82
- Object.defineProperty(exports, "HERO_BY_ID", { enumerable: true, get: function () { return udtHeroes_1.HERO_BY_ID; } });
83
- var udtMonuments_1 = require("./udtMonuments");
84
- Object.defineProperty(exports, "MONUMENTS", { enumerable: true, get: function () { return udtMonuments_1.MONUMENTS; } });
85
- Object.defineProperty(exports, "MONUMENT_BY_ID", { enumerable: true, get: function () { return udtMonuments_1.MONUMENT_BY_ID; } });
86
- // Foe in-play status + foe/adversary identity metadata (additive; the seed-parser foe enums above
87
- // are untouched). FoeStatus is the ready→savage→lethal progression; FOES/ADVERSARY_ROSTER carry
88
- // level/tier/source keyed by the same names.
89
- var udtFoes_1 = require("./udtFoes");
90
- Object.defineProperty(exports, "FOE_STATUSES", { enumerable: true, get: function () { return udtFoes_1.FOE_STATUSES; } });
91
- Object.defineProperty(exports, "FOES", { enumerable: true, get: function () { return udtFoes_1.FOES; } });
92
- Object.defineProperty(exports, "ADVERSARY_ROSTER", { enumerable: true, get: function () { return udtFoes_1.ADVERSARY_ROSTER; } });
93
- Object.defineProperty(exports, "ALL_FOES", { enumerable: true, get: function () { return udtFoes_1.ALL_FOES; } });
94
- Object.defineProperty(exports, "FOE_BY_ID", { enumerable: true, get: function () { return udtFoes_1.FOE_BY_ID; } });
95
- Object.defineProperty(exports, "FOE_BY_NAME", { enumerable: true, get: function () { return udtFoes_1.FOE_BY_NAME; } });
96
- // System.Random replica (C# PRNG)
97
- var udtSystemRandom_1 = require("./udtSystemRandom");
98
- Object.defineProperty(exports, "SystemRandom", { enumerable: true, get: function () { return udtSystemRandom_1.SystemRandom; } });
99
- // Game board data
100
- var udtGameBoard_1 = require("./udtGameBoard");
101
- Object.defineProperty(exports, "BOARD_LOCATIONS", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_LOCATIONS; } });
102
- Object.defineProperty(exports, "BOARD_LOCATION_BY_NAME", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_LOCATION_BY_NAME; } });
103
- Object.defineProperty(exports, "BOARD_GROUPINGS", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_GROUPINGS; } });
104
- // Board layout anchors + image metadata (authored with tools/location-marker)
105
- var udtBoardAnchors_1 = require("./udtBoardAnchors");
106
- Object.defineProperty(exports, "BOARD_ANCHORS", { enumerable: true, get: function () { return udtBoardAnchors_1.BOARD_ANCHORS; } });
107
- Object.defineProperty(exports, "BOARD_IMAGE_INFO", { enumerable: true, get: function () { return udtBoardAnchors_1.BOARD_IMAGE_INFO; } });
108
- // Board movement-adjacency graph + derived BFS helpers
109
- var udtBoardAdjacency_1 = require("./udtBoardAdjacency");
110
- Object.defineProperty(exports, "BOARD_ADJACENCY", { enumerable: true, get: function () { return udtBoardAdjacency_1.BOARD_ADJACENCY; } });
111
- Object.defineProperty(exports, "neighborsOf", { enumerable: true, get: function () { return udtBoardAdjacency_1.neighborsOf; } });
112
- Object.defineProperty(exports, "stepDistance", { enumerable: true, get: function () { return udtBoardAdjacency_1.stepDistance; } });
113
- Object.defineProperty(exports, "shortestPath", { enumerable: true, get: function () { return udtBoardAdjacency_1.shortestPath; } });
82
+ // Game / board reference data — grouped by domain sub-namespaces (heroes, monuments, foes,
83
+ // board, content, inventory). e.g. data.heroes.HEROES, data.board.BOARD_LOCATIONS,
84
+ // data.content.HEROES (gameplay), data.inventory.expansions. See docs/api/board-data.md.
85
+ exports.data = __importStar(require("./data"));
86
+ // Seed encode/decode + RNG subsystem. e.g. seed.decodeSeed(...), seed.TIER1_FOES,
87
+ // seed.SystemRandom. See docs/api/seed.md.
88
+ exports.seed = __importStar(require("./seed"));
114
89
  // For convenience, also export as default
115
90
  const UltimateDarkTower_2 = __importDefault(require("./UltimateDarkTower"));
116
91
  exports.default = UltimateDarkTower_2.default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;AAEH,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AAErC,iDAA+B;AAC/B,yCAAoH;AAA3G,mGAAA,MAAM,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,yGAAA,YAAY,OAAA;AAC/D,2CAAoF;AAA3E,oHAAA,sBAAsB,OAAA;AAAE,0HAAA,4BAA4B,OAAA;AAI7D,6DAM+B;AAL7B,qHAAA,cAAc,OAAA;AACd,+HAAA,wBAAwB,OAAA;AACxB,mIAAA,4BAA4B,OAAA;AAC5B,kIAAA,2BAA2B,OAAA;AAC3B,4HAAA,qBAAqB,OAAA;AAEvB,2EAA0F;AAAjF,+HAAA,iBAAiB,OAAA;AAAE,qIAAA,uBAAuB,OAAA;AAInD,iDAAmF;AAA1E,kHAAA,iBAAiB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,6GAAA,YAAY,OAAA;AACzD,2CAAmH;AAA1G,qHAAA,uBAAuB,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAQ3D,+FAA+F;AAC/F,mDAAoF;AAA3E,wHAAA,sBAAsB,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,4GAAA,UAAU,OAAA;AAKzD,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AAEtB,cAAc;AACd,iDAIyB;AAHvB,4GAAA,WAAW,OAAA;AAAE,4GAAA,WAAW,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,2GAAA,UAAU,OAAA;AAAE,8GAAA,aAAa,OAAA;AACjE,2GAAA,UAAU,OAAA;AAAE,2GAAA,UAAU,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,8GAAA,aAAa,OAAA;AACtD,2GAAA,UAAU,OAAA;AAAE,2GAAA,UAAU,OAAA;AAAE,2GAAA,UAAU,OAAA;AAAE,4GAAA,WAAW,OAAA;AAAE,uGAAA,MAAM,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,6GAAA,YAAY,OAAA;AAOrF,sEAAsE;AACtE,yCAAiD;AAAxC,mGAAA,MAAM,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE3B,+CAA2D;AAAlD,yGAAA,SAAS,OAAA;AAAE,8GAAA,cAAc,OAAA;AAGlC,kGAAkG;AAClG,gGAAgG;AAChG,6CAA6C;AAC7C,qCAAmG;AAA1F,uGAAA,YAAY,OAAA;AAAE,+FAAA,IAAI,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,sGAAA,WAAW,OAAA;AAG/E,kCAAkC;AAClC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,kBAAkB;AAClB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,sHAAA,sBAAsB,OAAA;AACtB,+GAAA,eAAe,OAAA;AAIjB,8EAA8E;AAC9E,qDAAoE;AAA3D,gHAAA,aAAa,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAGxC,uDAAuD;AACvD,yDAA+F;AAAtF,oHAAA,eAAe,OAAA;AAAE,gHAAA,WAAW,OAAA;AAAE,iHAAA,YAAY,OAAA;AAAE,iHAAA,YAAY,OAAA;AAGjE,0CAA0C;AAC1C,4EAAoD;AACpD,kBAAe,2BAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AAErC,iDAA+B;AAC/B,yCAAoH;AAA3G,mGAAA,MAAM,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,yGAAA,YAAY,OAAA;AAC/D,2CAAoF;AAA3E,oHAAA,sBAAsB,OAAA;AAAE,0HAAA,4BAA4B,OAAA;AAI7D,6DAM+B;AAL7B,qHAAA,cAAc,OAAA;AACd,+HAAA,wBAAwB,OAAA;AACxB,mIAAA,4BAA4B,OAAA;AAC5B,kIAAA,2BAA2B,OAAA;AAC3B,4HAAA,qBAAqB,OAAA;AAEvB,2EAA0F;AAAjF,+HAAA,iBAAiB,OAAA;AAAE,qIAAA,uBAAuB,OAAA;AAInD,iDAAmF;AAA1E,kHAAA,iBAAiB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,6GAAA,YAAY,OAAA;AACzD,2CAAmH;AAA1G,qHAAA,uBAAuB,OAAA;AAAE,uHAAA,yBAAyB,OAAA;AAQ3D,+FAA+F;AAC/F,mDAAoF;AAA3E,wHAAA,sBAAsB,OAAA;AAAE,8GAAA,YAAY,OAAA;AAAE,4GAAA,UAAU,OAAA;AAKzD,uDAAsD;AAA7C,8GAAA,aAAa,OAAA;AAEtB,2FAA2F;AAC3F,mFAAmF;AACnF,yFAAyF;AACzF,+CAA+B;AAE/B,kFAAkF;AAClF,2CAA2C;AAC3C,+CAA+B;AAE/B,0CAA0C;AAC1C,4EAAoD;AACpD,kBAAe,2BAAiB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Seed subsystem — Return to Dark Tower seed encode/decode plus the C# `System.Random`
3
+ * replica used to reproduce the game's RNG. Exposed from the library as the `seed`
4
+ * namespace (e.g. `seed.decodeSeed(...)`, `seed.TIER1_FOES`, `seed.SystemRandom`).
5
+ */
6
+ export * from './udtSeedParser';
7
+ export * from './udtSystemRandom';
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * Seed subsystem — Return to Dark Tower seed encode/decode plus the C# `System.Random`
19
+ * replica used to reproduce the game's RNG. Exposed from the library as the `seed`
20
+ * namespace (e.g. `seed.decodeSeed(...)`, `seed.TIER1_FOES`, `seed.SystemRandom`).
21
+ */
22
+ __exportStar(require("./udtSeedParser"), exports);
23
+ __exportStar(require("./udtSystemRandom"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/seed/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,kDAAgC;AAChC,oDAAkC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtSeedParser.js","sourceRoot":"","sources":["../../../src/seed/udtSeedParser.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,12 @@ export declare class SystemRandom {
35
35
  * Matches C#'s Sample().
36
36
  */
37
37
  private sample;
38
+ /**
39
+ * Sample for ranges wider than Int32.MaxValue.
40
+ * Matches C#'s GetSampleForLargeRange(): draws two internal samples (the
41
+ * second decides sign) and normalizes to [0.0, 1.0).
42
+ */
43
+ private getSampleForLargeRange;
38
44
  /**
39
45
  * Returns a non-negative random integer less than Int32.MaxValue.
40
46
  * Matches C# `Random.Next()`.
@@ -110,6 +110,22 @@ class SystemRandom {
110
110
  sample() {
111
111
  return this.internalSample() * (1.0 / INT32_MAX);
112
112
  }
113
+ /**
114
+ * Sample for ranges wider than Int32.MaxValue.
115
+ * Matches C#'s GetSampleForLargeRange(): draws two internal samples (the
116
+ * second decides sign) and normalizes to [0.0, 1.0).
117
+ */
118
+ getSampleForLargeRange() {
119
+ let result = this.internalSample();
120
+ const negative = (this.internalSample() % 2 === 0);
121
+ if (negative) {
122
+ result = -result;
123
+ }
124
+ let d = result;
125
+ d += INT32_MAX - 1;
126
+ d /= 2 * INT32_MAX - 1;
127
+ return d;
128
+ }
113
129
  /**
114
130
  * Returns a non-negative random integer less than Int32.MaxValue.
115
131
  * Matches C# `Random.Next()`.
@@ -139,8 +155,11 @@ class SystemRandom {
139
155
  if (range <= INT32_MAX) {
140
156
  return toInt32(this.sample() * range) + minValue;
141
157
  }
142
- // Large range — use double precision
143
- return toInt32(this.internalSample() * (1.0 / INT32_MAX) * range) + minValue;
158
+ // Large range — matches C#'s GetSampleForLargeRange() path. minValue is added
159
+ // before truncating (C#: `(int)((long)(sample * range) + minValue)`) — adding
160
+ // it after an int32 truncation of the (possibly > Int32.MaxValue) product
161
+ // would wrap the intermediate value incorrectly.
162
+ return Math.floor(this.getSampleForLargeRange() * range) + minValue;
144
163
  }
145
164
  /**
146
165
  * Returns a random double in range [0.0, 1.0).
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtSystemRandom.js","sourceRoot":"","sources":["../../../src/seed/udtSystemRandom.ts"],"names":[],"mappings":"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"}
@@ -159,9 +159,10 @@ class UdtBleConnection {
159
159
  }
160
160
  async disconnect() {
161
161
  this.stopConnectionMonitoring();
162
- if (this.isConnected) {
163
- this.recordIncident('user_initiated');
162
+ if (!this.isConnected) {
163
+ return;
164
164
  }
165
+ this.recordIncident('user_initiated');
165
166
  const adapter = this.bluetoothAdapter;
166
167
  if (adapter === null || adapter === void 0 ? void 0 : adapter.isConnected()) {
167
168
  await adapter.disconnect();