ultimatedarktower 4.0.1 → 5.0.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 (66) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +105 -253
  3. package/dist/esm/index.mjs +2061 -132
  4. package/dist/src/UltimateDarkTower.d.ts +7 -0
  5. package/dist/src/UltimateDarkTower.js +13 -1
  6. package/dist/src/UltimateDarkTower.js.map +1 -1
  7. package/dist/src/adapters/NoopBluetoothAdapter.d.ts +26 -0
  8. package/dist/src/adapters/NoopBluetoothAdapter.js +50 -0
  9. package/dist/src/adapters/NoopBluetoothAdapter.js.map +1 -0
  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.d.ts +25 -0
  14. package/dist/src/data/board/udtBoardAdjacency.js +397 -0
  15. package/dist/src/data/board/udtBoardAdjacency.js.map +1 -0
  16. package/dist/src/data/board/udtBoardAnchors.d.ts +34 -0
  17. package/dist/src/data/board/udtBoardAnchors.js +357 -0
  18. package/dist/src/data/board/udtBoardAnchors.js.map +1 -0
  19. package/dist/src/data/board/udtGameBoard.js.map +1 -0
  20. package/dist/src/data/index.d.ts +19 -0
  21. package/dist/src/data/index.js +56 -0
  22. package/dist/src/data/index.js.map +1 -0
  23. package/dist/src/data/udtBoxInventory.d.ts +47 -0
  24. package/dist/src/data/udtBoxInventory.js +679 -0
  25. package/dist/src/data/udtBoxInventory.js.map +1 -0
  26. package/dist/src/data/udtFoes.d.ts +53 -0
  27. package/dist/src/data/udtFoes.js +47 -0
  28. package/dist/src/data/udtFoes.js.map +1 -0
  29. package/dist/src/data/udtGameContent.d.ts +418 -0
  30. package/dist/src/data/udtGameContent.js +293 -0
  31. package/dist/src/data/udtGameContent.js.map +1 -0
  32. package/dist/src/data/udtHeroes.d.ts +30 -0
  33. package/dist/src/data/udtHeroes.js +38 -0
  34. package/dist/src/data/udtHeroes.js.map +1 -0
  35. package/dist/src/data/udtMonuments.d.ts +23 -0
  36. package/dist/src/data/udtMonuments.js +20 -0
  37. package/dist/src/data/udtMonuments.js.map +1 -0
  38. package/dist/src/index.d.ts +2 -5
  39. package/dist/src/index.js +30 -27
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/seed/index.d.ts +7 -0
  42. package/dist/src/seed/index.js +24 -0
  43. package/dist/src/seed/index.js.map +1 -0
  44. package/dist/src/seed/udtSeedParser.js.map +1 -0
  45. package/dist/src/seed/udtSystemRandom.js.map +1 -0
  46. package/dist/src/udtBleConnection.d.ts +13 -0
  47. package/dist/src/udtBleConnection.js +66 -19
  48. package/dist/src/udtBleConnection.js.map +1 -1
  49. package/dist/src/udtBluetoothAdapterFactory.d.ts +3 -1
  50. package/dist/src/udtBluetoothAdapterFactory.js +6 -0
  51. package/dist/src/udtBluetoothAdapterFactory.js.map +1 -1
  52. package/dist/src/udtDisplayExports.d.ts +2 -0
  53. package/dist/src/udtDisplayExports.js +26 -0
  54. package/dist/src/udtDisplayExports.js.map +1 -0
  55. package/dist/src/udtTowerResponse.js +1 -2
  56. package/dist/src/udtTowerResponse.js.map +1 -1
  57. package/package.json +2 -2
  58. package/dist/src/udtGameBoard.js.map +0 -1
  59. package/dist/src/udtSeedParser.js.map +0 -1
  60. package/dist/src/udtSystemRandom.js.map +0 -1
  61. /package/dist/src/{udtGameBoard.d.ts → data/board/udtGameBoard.d.ts} +0 -0
  62. /package/dist/src/{udtGameBoard.js → data/board/udtGameBoard.js} +0 -0
  63. /package/dist/src/{udtSeedParser.d.ts → seed/udtSeedParser.d.ts} +0 -0
  64. /package/dist/src/{udtSeedParser.js → seed/udtSeedParser.js} +0 -0
  65. /package/dist/src/{udtSystemRandom.d.ts → seed/udtSystemRandom.d.ts} +0 -0
  66. /package/dist/src/{udtSystemRandom.js → seed/udtSystemRandom.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":";AAAA,wFAAwF;AACxF,sFAAsF;AACtF,sFAAsF;;;AAwBtF,yEAAyE;AAC5D,QAAA,MAAM,GAAG;IAClB,SAAS,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,uDAAuD;QACrE,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE;YACnD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE;SACrD;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,6CAA6C,EAAE;YAC/E;gBACI,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,wDAAwD;aACpE;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,OAAO,EACH,oFAAoF;aAC3F;SACJ;KACJ;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,kBAAkB;QAChC,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE;YACnD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,oCAAoC,EAAE;SACrE;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,4CAA4C,EAAE;YAC5E;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,sFAAsF;aAC7F;YACD,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,kDAAkD,EAAE;SACtF;KACJ;IACD,gBAAgB,EAAE;QACd,IAAI,EAAE,gBAAgB;QACtB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,gBAAgB;QAC9B,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;YAClD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,sDAAsD,EAAE;SACxF;QACD,iBAAiB,EAAE;YACf;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,iFAAiF;aACxF;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,sFAAsF;aAC7F;YACD;gBACI,IAAI,EAAE,UAAU;gBAChB,OAAO,EACH,kFAAkF;aACzF;SACJ;KACJ;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,gBAAgB;QAC9B,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE;YACtD;gBACI,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,yEAAyE;aACrF;SACJ;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,mDAAmD,EAAE;YAChF;gBACI,IAAI,EAAE,OAAO;gBACb,OAAO,EACH,+EAA+E;aACtF;YACD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,kDAAkD,EAAE;SACrF;KACJ;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,WAAW;QACtB,YAAY,EACR,8EAA8E;QAClF,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,EAAE;YACzD;gBACI,IAAI,EAAE,aAAa;gBACnB,OAAO,EACH,oHAAoH;aAC3H;SACJ;QACD,iBAAiB,EAAE;YACf;gBACI,IAAI,EAAE,eAAe;gBACrB,OAAO,EACH,+EAA+E;aACtF;YACD;gBACI,IAAI,EAAE,YAAY;gBAClB,OAAO,EACH,6FAA6F;aACpG;YACD;gBACI,IAAI,EAAE,WAAW;gBACjB,OAAO,EACH,yGAAyG;aAChH;SACJ;KACJ;IACD,UAAU,EAAE;QACR,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,sEAAsE;QACpF,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE;YACtD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,0DAA0D,EAAE;SAC1F;QACD,iBAAiB,EAAE;YACf;gBACI,IAAI,EAAE,UAAU;gBAChB,OAAO,EACH,kHAAkH;aACzH;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,OAAO,EACH,kFAAkF;aACzF;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,sFAAsF;aAC7F;SACJ;KACJ;IACD,mBAAmB,EAAE;QACjB,IAAI,EAAE,mBAAmB;QACzB,SAAS,EAAE,UAAU;QACrB,YAAY,EACR,0FAA0F;QAC9F,cAAc,EAAE;YACZ,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,oCAAoC,EAAE;YACrE;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,6EAA6E;aACpF;SACJ;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qCAAqC,EAAE;YACrE;gBACI,IAAI,EAAE,aAAa;gBACnB,OAAO,EACH,iFAAiF;aACxF;YACD;gBACI,IAAI,EAAE,WAAW;gBACjB,OAAO,EACH,8EAA8E;aACrF;SACJ;KACJ;IACD,iBAAiB,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,UAAU;QACrB,YAAY,EACR,6GAA6G;QACjH,cAAc,EAAE;YACZ;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,gEAAgE;aAC5E;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,OAAO,EACH,iFAAiF;aACxF;SACJ;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,iDAAiD,EAAE;YAClF;gBACI,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,uEAAuE;aACnF;YACD;gBACI,IAAI,EAAE,SAAS;gBACf,OAAO,EACH,oGAAoG;aAC3G;SACJ;KACJ;IACD,kBAAkB,EAAE;QAChB,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,0CAA0C;QACxD,cAAc,EAAE;YACZ;gBACI,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,8DAA8D;aAC1E;YACD;gBACI,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4DAA4D;aACxE;SACJ;QACD,iBAAiB,EAAE;YACf;gBACI,IAAI,EAAE,YAAY;gBAClB,OAAO,EACH,4EAA4E;aACnF;YACD;gBACI,IAAI,EAAE,eAAe;gBACrB,OAAO,EACH,iFAAiF;aACxF;YACD;gBACI,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,wEAAwE;aACpF;SACJ;KACJ;IACD,sBAAsB,EAAE;QACpB,IAAI,EAAE,sBAAsB;QAC5B,SAAS,EAAE,UAAU;QACrB,YAAY,EAAE,8CAA8C;QAC5D,cAAc,EAAE;YACZ;gBACI,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,iEAAiE;aAC7E;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,uEAAuE;aACnF;SACJ;QACD,iBAAiB,EAAE;YACf,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,8BAA8B,EAAE;YAC5D,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6CAA6C,EAAE;YAC3E;gBACI,IAAI,EAAE,WAAW;gBACjB,OAAO,EACH,+EAA+E;aACtF;SACJ;KACJ;CACoC,CAAC;AAO1C,uCAAuC;AAC1B,QAAA,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;AAQ7D,wEAAwE;AAC3D,QAAA,IAAI,GAAG;IAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACxC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;IAClC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;IAChD,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE;IAChD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACpC,kBAAkB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE;IAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACpC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;IAClC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE;IACpC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE;CACE,CAAC;AAE5B,QAAA,IAAI,GAAmB,MAAM,CAAC,MAAM,CAAC,YAAI,CAAC,CAAC;AAQxD,iCAAiC;AACpB,QAAA,WAAW,GAAG;IACvB,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE;IAC5C,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,mBAAmB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,EAAE;IAC5D,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;IAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE;IACxC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE;IACpD,yBAAyB,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,EAAE;CAC9B,CAAC;AAElC,QAAA,WAAW,GAAyB,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;AAQ5E,gCAAgC;AACnB,QAAA,UAAU,GAAG;IACtB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAChD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACpD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;IAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;IACjD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE;IAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE;IAC3C,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE;IAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;CACH,CAAC;AAElC,QAAA,UAAU,GAAyB,MAAM,CAAC,MAAM,CAAC,kBAAU,CAAC,CAAC;AAE1E;yDACyD;AAC5C,QAAA,eAAe,GAAG;IAC3B,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,8BAA8B,EAAE;IAC/E,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,kCAAkC,EAAE;IACrF,KAAK,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACnF,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,gCAAgC,EAAE;CAC1C,CAAC;AAE/B,QAAA,cAAc,GAAsB,MAAM,CAAC,MAAM,CAAC,uBAAe,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * udtHeroes.ts — the Return to Dark Tower hero roster (static reference data).
3
+ *
4
+ * Consumed by `ultimatedarktowerboard` (re-exported, not vendored). Heroes are NOT
5
+ * seed-encoded — this is identity/source metadata only. 14 heroes: 4 base, 2 Alliances,
6
+ * 4 Covenant, 4 Expeditions (Expeditions is unreleased; its heroes are publicly confirmed
7
+ * but provisional until the box ships).
8
+ */
9
+ /**
10
+ * Which product a roster entry ships in (base game + expansions). Distinct from the seed
11
+ * parser's `ExpansionType` (which only encodes the Alliances/Monuments expansion bits) and
12
+ * from `GameSource` (Core vs Competitive play).
13
+ */
14
+ export type ContentSource = 'base' | 'alliances' | 'covenant' | 'expeditions';
15
+ /** Stable, unique hero identity id (kebab-case), e.g. `'archwright'`. */
16
+ export type HeroId = string;
17
+ export interface Hero {
18
+ /** Stable, unique kebab-case identity id. */
19
+ id: HeroId;
20
+ /** Display name. */
21
+ name: string;
22
+ /** The product this hero ships in. */
23
+ source: ContentSource;
24
+ /** Optional fixed start location name, if the hero has one (none recorded yet). */
25
+ startLocation?: string;
26
+ }
27
+ /** All 14 heroes, grouped by source (base → alliances → covenant → expeditions). */
28
+ export declare const HEROES: readonly Hero[];
29
+ /** Heroes keyed by their stable `id`. */
30
+ export declare const HERO_BY_ID: Readonly<Record<HeroId, Hero>>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * udtHeroes.ts — the Return to Dark Tower hero roster (static reference data).
4
+ *
5
+ * Consumed by `ultimatedarktowerboard` (re-exported, not vendored). Heroes are NOT
6
+ * seed-encoded — this is identity/source metadata only. 14 heroes: 4 base, 2 Alliances,
7
+ * 4 Covenant, 4 Expeditions (Expeditions is unreleased; its heroes are publicly confirmed
8
+ * but provisional until the box ships).
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.HERO_BY_ID = exports.HEROES = void 0;
12
+ /** All 14 heroes, grouped by source (base → alliances → covenant → expeditions). */
13
+ exports.HEROES = [
14
+ // Base (4)
15
+ { id: 'brutal-warlord', name: 'Brutal Warlord', source: 'base' },
16
+ { id: 'orphaned-scion', name: 'Orphaned Scion', source: 'base' },
17
+ { id: 'relic-hunter', name: 'Relic Hunter', source: 'base' },
18
+ { id: 'spymaster', name: 'Spymaster', source: 'base' },
19
+ // Alliances (2)
20
+ { id: 'archwright', name: 'Archwright', source: 'alliances' },
21
+ { id: 'haunted-recluse', name: 'Haunted Recluse', source: 'alliances' },
22
+ // Covenant (4)
23
+ { id: 'devious-swindler', name: 'Devious Swindler', source: 'covenant' },
24
+ { id: 'relentless-warden', name: 'Relentless Warden', source: 'covenant' },
25
+ { id: 'reverent-astromancer', name: 'Reverent Astromancer', source: 'covenant' },
26
+ { id: 'undaunted-aegis', name: 'Undaunted Aegis', source: 'covenant' },
27
+ // Expeditions (4, unreleased — provisional)
28
+ { id: 'jocular-druid', name: 'Jocular Druid', source: 'expeditions' },
29
+ { id: 'grizzled-mariner', name: 'Grizzled Mariner', source: 'expeditions' },
30
+ { id: 'clever-tinkerer', name: 'Clever Tinkerer', source: 'expeditions' },
31
+ { id: 'enlightened-ascetic', name: 'Enlightened Ascetic', source: 'expeditions' },
32
+ ];
33
+ /** Heroes keyed by their stable `id`. */
34
+ exports.HERO_BY_ID = Object.freeze(exports.HEROES.reduce((acc, hero) => {
35
+ acc[hero.id] = hero;
36
+ return acc;
37
+ }, {}));
38
+ //# sourceMappingURL=udtHeroes.js.map
@@ -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,23 @@
1
+ /**
2
+ * udtMonuments.ts — the 8 Covenant monuments (static reference roster).
3
+ *
4
+ * Consumed by `ultimatedarktowerboard` (re-exported, not vendored). A monument replaces a
5
+ * building on its space during a Covenant game, but WHICH building space a given monument
6
+ * occupies is a runtime setup choice — NOT fixed data — so no monument→building mapping is
7
+ * encoded here. This is just the roster; placement lives in board state at runtime.
8
+ */
9
+ import type { ContentSource } from './udtHeroes';
10
+ /** Stable, unique monument id (kebab-case), e.g. `'argent-oak'`. */
11
+ export type MonumentId = string;
12
+ export interface Monument {
13
+ /** Stable, unique kebab-case identity id. */
14
+ id: MonumentId;
15
+ /** Display name. */
16
+ name: string;
17
+ /** The product this monument ships in (always `'covenant'`). */
18
+ source: ContentSource;
19
+ }
20
+ /** The 8 Covenant monuments (alphabetical by name). */
21
+ export declare const MONUMENTS: readonly Monument[];
22
+ /** Monuments keyed by their stable `id`. */
23
+ export declare const MONUMENT_BY_ID: Readonly<Record<MonumentId, Monument>>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MONUMENT_BY_ID = exports.MONUMENTS = void 0;
4
+ /** The 8 Covenant monuments (alphabetical by name). */
5
+ exports.MONUMENTS = [
6
+ { id: 'arch-of-the-golden-sun', name: 'Arch of the Golden Sun', source: 'covenant' },
7
+ { id: 'argent-oak', name: 'Argent Oak', source: 'covenant' },
8
+ { id: 'cenotaph-of-the-first-prophet', name: 'Cenotaph of the First Prophet', source: 'covenant' },
9
+ { id: 'colossus-of-bjorn', name: 'Colossus of Bjorn', source: 'covenant' },
10
+ { id: 'endless-necropolis', name: 'Endless Necropolis', source: 'covenant' },
11
+ { id: 'moonstone-temple', name: 'Moonstone Temple', source: 'covenant' },
12
+ { id: 'nightmare-cage', name: 'Nightmare Cage', source: 'covenant' },
13
+ { id: 'tower-shard', name: 'Tower Shard', source: 'covenant' },
14
+ ];
15
+ /** Monuments keyed by their stable `id`. */
16
+ exports.MONUMENT_BY_ID = Object.freeze(exports.MONUMENTS.reduce((acc, monument) => {
17
+ acc[monument.id] = monument;
18
+ return acc;
19
+ }, {}));
20
+ //# sourceMappingURL=udtMonuments.js.map
@@ -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,10 +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 { SystemRandom } from './udtSystemRandom';
24
- export { BOARD_LOCATIONS, BOARD_LOCATION_BY_NAME, BOARD_GROUPINGS, } from './udtGameBoard';
25
- export type { TerrainType, BuildingType, BoardKingdom, BoardGrouping, BoardLocation } from './udtGameBoard';
21
+ export * as data from './data';
22
+ export * as seed from './seed';
26
23
  import UltimateDarkTower from './UltimateDarkTower';
27
24
  export default UltimateDarkTower;
package/dist/src/index.js CHANGED
@@ -14,14 +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.BOARD_GROUPINGS = exports.BOARD_LOCATION_BY_NAME = exports.BOARD_LOCATIONS = exports.SystemRandom = 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;
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;
25
47
  var UltimateDarkTower_1 = require("./UltimateDarkTower");
26
48
  Object.defineProperty(exports, "UltimateDarkTower", { enumerable: true, get: function () { return __importDefault(UltimateDarkTower_1).default; } });
27
49
  __exportStar(require("./udtConstants"), exports);
@@ -57,32 +79,13 @@ Object.defineProperty(exports, "InMemorySink", { enumerable: true, get: function
57
79
  Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return udtDiagnostics_1.bytesToHex; } });
58
80
  var IndexedDBSink_1 = require("./sinks/IndexedDBSink");
59
81
  Object.defineProperty(exports, "IndexedDBSink", { enumerable: true, get: function () { return IndexedDBSink_1.IndexedDBSink; } });
60
- // Seed parser
61
- var udtSeedParser_1 = require("./udtSeedParser");
62
- Object.defineProperty(exports, "charToValue", { enumerable: true, get: function () { return udtSeedParser_1.charToValue; } });
63
- Object.defineProperty(exports, "valueToChar", { enumerable: true, get: function () { return udtSeedParser_1.valueToChar; } });
64
- Object.defineProperty(exports, "validateSeed", { enumerable: true, get: function () { return udtSeedParser_1.validateSeed; } });
65
- Object.defineProperty(exports, "decodeSeed", { enumerable: true, get: function () { return udtSeedParser_1.decodeSeed; } });
66
- Object.defineProperty(exports, "decodeRngSeed", { enumerable: true, get: function () { return udtSeedParser_1.decodeRngSeed; } });
67
- Object.defineProperty(exports, "createSeed", { enumerable: true, get: function () { return udtSeedParser_1.createSeed; } });
68
- Object.defineProperty(exports, "encodeSeed", { enumerable: true, get: function () { return udtSeedParser_1.encodeSeed; } });
69
- Object.defineProperty(exports, "compareSeedsRaw", { enumerable: true, get: function () { return udtSeedParser_1.compareSeedsRaw; } });
70
- Object.defineProperty(exports, "dumpSeedChars", { enumerable: true, get: function () { return udtSeedParser_1.dumpSeedChars; } });
71
- Object.defineProperty(exports, "TIER1_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER1_FOES; } });
72
- Object.defineProperty(exports, "TIER2_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER2_FOES; } });
73
- Object.defineProperty(exports, "TIER3_FOES", { enumerable: true, get: function () { return udtSeedParser_1.TIER3_FOES; } });
74
- Object.defineProperty(exports, "ADVERSARIES", { enumerable: true, get: function () { return udtSeedParser_1.ADVERSARIES; } });
75
- Object.defineProperty(exports, "ALLIES", { enumerable: true, get: function () { return udtSeedParser_1.ALLIES; } });
76
- Object.defineProperty(exports, "DIFFICULTIES", { enumerable: true, get: function () { return udtSeedParser_1.DIFFICULTIES; } });
77
- Object.defineProperty(exports, "GAME_SOURCES", { enumerable: true, get: function () { return udtSeedParser_1.GAME_SOURCES; } });
78
- // System.Random replica (C# PRNG)
79
- var udtSystemRandom_1 = require("./udtSystemRandom");
80
- Object.defineProperty(exports, "SystemRandom", { enumerable: true, get: function () { return udtSystemRandom_1.SystemRandom; } });
81
- // Game board data
82
- var udtGameBoard_1 = require("./udtGameBoard");
83
- Object.defineProperty(exports, "BOARD_LOCATIONS", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_LOCATIONS; } });
84
- Object.defineProperty(exports, "BOARD_LOCATION_BY_NAME", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_LOCATION_BY_NAME; } });
85
- Object.defineProperty(exports, "BOARD_GROUPINGS", { enumerable: true, get: function () { return udtGameBoard_1.BOARD_GROUPINGS; } });
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"));
86
89
  // For convenience, also export as default
87
90
  const UltimateDarkTower_2 = __importDefault(require("./UltimateDarkTower"));
88
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,kCAAkC;AAClC,qDAAiD;AAAxC,+GAAA,YAAY,OAAA;AAErB,kBAAkB;AAClB,+CAIwB;AAHtB,+GAAA,eAAe,OAAA;AACf,sHAAA,sBAAsB,OAAA;AACtB,+GAAA,eAAe,OAAA;AAIjB,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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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"udtSystemRandom.js","sourceRoot":"","sources":["../../../src/seed/udtSystemRandom.ts"],"names":[],"mappings":"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"}