@dreadwood-types/types 0.1.45 → 0.1.46

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/dist/areaTransitions.d.ts +1 -1
  2. package/dist/areaTransitions.d.ts.map +1 -1
  3. package/dist/areaTransitions.js +18 -2
  4. package/dist/areaTransitions.js.map +1 -1
  5. package/dist/bank.d.ts +2 -1
  6. package/dist/bank.d.ts.map +1 -1
  7. package/dist/bank.js +2 -1
  8. package/dist/bank.js.map +1 -1
  9. package/dist/blacksmithing.d.ts +16 -1
  10. package/dist/blacksmithing.d.ts.map +1 -1
  11. package/dist/blacksmithing.js +221 -0
  12. package/dist/blacksmithing.js.map +1 -1
  13. package/dist/bloodRiver.d.ts +115 -0
  14. package/dist/bloodRiver.d.ts.map +1 -0
  15. package/dist/bloodRiver.js +252 -0
  16. package/dist/bloodRiver.js.map +1 -0
  17. package/dist/brokenRoad.d.ts +103 -0
  18. package/dist/brokenRoad.d.ts.map +1 -0
  19. package/dist/brokenRoad.js +167 -0
  20. package/dist/brokenRoad.js.map +1 -0
  21. package/dist/capital.d.ts +270 -0
  22. package/dist/capital.d.ts.map +1 -0
  23. package/dist/capital.js +306 -0
  24. package/dist/capital.js.map +1 -0
  25. package/dist/clientConfig.d.ts +34 -2
  26. package/dist/clientConfig.d.ts.map +1 -1
  27. package/dist/clientConfig.js +26 -2
  28. package/dist/clientConfig.js.map +1 -1
  29. package/dist/constants.d.ts +131 -5
  30. package/dist/constants.d.ts.map +1 -1
  31. package/dist/constants.js +291 -8
  32. package/dist/constants.js.map +1 -1
  33. package/dist/dreadwoodsZones.d.ts +15 -1
  34. package/dist/dreadwoodsZones.d.ts.map +1 -1
  35. package/dist/dreadwoodsZones.js +63 -0
  36. package/dist/dreadwoodsZones.js.map +1 -1
  37. package/dist/equipment.d.ts +16 -1
  38. package/dist/equipment.d.ts.map +1 -1
  39. package/dist/equipment.js +61 -0
  40. package/dist/equipment.js.map +1 -1
  41. package/dist/groundItems.d.ts +5 -0
  42. package/dist/groundItems.d.ts.map +1 -1
  43. package/dist/groundItems.js +11 -1
  44. package/dist/groundItems.js.map +1 -1
  45. package/dist/index.d.ts +4 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +4 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/landmarks.d.ts +537 -108
  50. package/dist/landmarks.d.ts.map +1 -1
  51. package/dist/landmarks.js +755 -103
  52. package/dist/landmarks.js.map +1 -1
  53. package/dist/messages.d.ts +103 -10
  54. package/dist/messages.d.ts.map +1 -1
  55. package/dist/messages.js +4 -0
  56. package/dist/messages.js.map +1 -1
  57. package/dist/mineCave.d.ts +71 -0
  58. package/dist/mineCave.d.ts.map +1 -0
  59. package/dist/mineCave.js +39 -0
  60. package/dist/mineCave.js.map +1 -0
  61. package/dist/mining.d.ts +16 -5
  62. package/dist/mining.d.ts.map +1 -1
  63. package/dist/mining.js +24 -5
  64. package/dist/mining.js.map +1 -1
  65. package/dist/travel.d.ts +21 -0
  66. package/dist/travel.d.ts.map +1 -1
  67. package/dist/travel.js +23 -3
  68. package/dist/travel.js.map +1 -1
  69. package/dist/woodwork.d.ts +103 -12
  70. package/dist/woodwork.d.ts.map +1 -1
  71. package/dist/woodwork.js +214 -17
  72. package/dist/woodwork.js.map +1 -1
  73. package/dist/xp.d.ts +7 -0
  74. package/dist/xp.d.ts.map +1 -1
  75. package/dist/xp.js +7 -0
  76. package/dist/xp.js.map +1 -1
  77. package/package.json +1 -1
@@ -16,7 +16,7 @@ import type { NpcKind } from './constants.js';
16
16
  * before the chunk data for the destination. Everything else is client-side;
17
17
  * see dreadwoods-frontend/AREA_TRANSITIONS.md for how to add one.
18
18
  */
19
- export type AreaTransitionId = 'spider-cave' | 'spider-cave-out' | 'ice-prison' | 'ice-prison-out' | 'voyage-hope-beach' | 'voyage-frozen-shore';
19
+ export type AreaTransitionId = 'mine-cave' | 'mine-cave-out' | 'spider-cave' | 'spider-cave-out' | 'ice-prison' | 'ice-prison-out' | 'voyage-hope-beach' | 'voyage-frozen-shore' | 'admin-teleport';
20
20
  export type AreaTransition = {
21
21
  /** The big line on the cover: the place you are arriving at. */
22
22
  title: string;
@@ -1 +1 @@
1
- {"version":3,"file":"areaTransitions.d.ts","sourceRoot":"","sources":["../src/areaTransitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG;IAC3B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAiCrE,CAAC"}
1
+ {"version":3,"file":"areaTransitions.d.ts","sourceRoot":"","sources":["../src/areaTransitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,YAAY,GACZ,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,gBAAgB,CAAC;AAErB,MAAM,MAAM,cAAc,GAAG;IAC3B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAiDrE,CAAC"}
@@ -1,4 +1,14 @@
1
1
  export const AREA_TRANSITIONS = {
2
+ 'mine-cave': {
3
+ title: 'Dreadwoods Mine',
4
+ line: 'Lamplight follows the rails into the rock.',
5
+ creatures: [],
6
+ },
7
+ 'mine-cave-out': {
8
+ title: 'Dreadwoods Mine Yard',
9
+ line: 'Back among the trees. Zone 2 lies outside.',
10
+ creatures: [],
11
+ },
2
12
  'spider-cave': {
3
13
  title: 'Spider Cave',
4
14
  line: 'Something skitters in the dark...',
@@ -27,9 +37,15 @@ export const AREA_TRANSITIONS = {
27
37
  creatures: [],
28
38
  },
29
39
  'voyage-frozen-shore': {
30
- title: 'The Frozen Shore',
31
- line: 'Branson brings her in under the crags.',
40
+ title: "Branson's Landing",
41
+ line: 'Branson brings her in under the crags, and Oskar takes the line.',
32
42
  creatures: ['wolf'],
33
43
  },
44
+ // An admin's /tp lands anywhere at all, so it takes the generic cover.
45
+ 'admin-teleport': {
46
+ title: 'Teleport',
47
+ line: 'The world folds and opens again.',
48
+ creatures: [],
49
+ },
34
50
  };
35
51
  //# sourceMappingURL=areaTransitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"areaTransitions.js","sourceRoot":"","sources":["../src/areaTransitions.ts"],"names":[],"mappings":"AAyCA,MAAM,CAAC,MAAM,gBAAgB,GAA6C;IACxE,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC/B;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,CAAC,YAAY,CAAC;KAC1B;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB;IACD,yEAAyE;IACzE,qEAAqE;IACrE,mBAAmB,EAAE;QACnB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,yCAAyC;QAC/C,SAAS,EAAE,EAAE;KACd;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,kBAAkB;QACzB,IAAI,EAAE,wCAAwC;QAC9C,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB;CACF,CAAC"}
1
+ {"version":3,"file":"areaTransitions.js","sourceRoot":"","sources":["../src/areaTransitions.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAC,MAAM,gBAAgB,GAA6C;IACxE,WAAW,EAAE;QACX,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,4CAA4C;QAClD,SAAS,EAAE,EAAE;KACd;IACD,eAAe,EAAE;QACf,KAAK,EAAE,sBAAsB;QAC7B,IAAI,EAAE,4CAA4C;QAClD,SAAS,EAAE,EAAE;KACd;IACD,aAAa,EAAE;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC/B;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,mCAAmC;QACzC,SAAS,EAAE,CAAC,YAAY,CAAC;KAC1B;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,oBAAoB;QAC3B,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB;IACD,yEAAyE;IACzE,qEAAqE;IACrE,mBAAmB,EAAE;QACnB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,yCAAyC;QAC/C,SAAS,EAAE,EAAE;KACd;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,mBAAmB;QAC1B,IAAI,EAAE,kEAAkE;QACxE,SAAS,EAAE,CAAC,MAAM,CAAC;KACpB;IACD,uEAAuE;IACvE,gBAAgB,EAAE;QAChB,KAAK,EAAE,UAAU;QACjB,IAAI,EAAE,kCAAkC;QACxC,SAAS,EAAE,EAAE;KACd;CACF,CAAC"}
package/dist/bank.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { InventorySlot } from './messages.js';
2
2
  export declare const BANK_TAB_COUNT = 6;
3
3
  export declare const BANK_SLOTS_PER_TAB = 20;
4
- export declare const BANK_MOVE_MAX = 50;
4
+ /** A sanity cap on one move, not a game rule: "all" moves a whole stack of coins in one go. */
5
+ export declare const BANK_MOVE_MAX = 10000000;
5
6
  export declare const BANK_QTY_PRESETS: readonly [1, 5, 10, 50];
6
7
  export declare const BANK_RANGE = 3;
7
8
  export type BankSlot = InventorySlot;
@@ -1 +1 @@
1
- {"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,gBAAgB,YAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACxD,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE5C,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CA0BrD"}
1
+ {"version":3,"file":"bank.d.ts","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,+FAA+F;AAC/F,eAAO,MAAM,aAAa,WAAa,CAAC;AACxC,eAAO,MAAM,gBAAgB,YAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACxD,eAAO,MAAM,UAAU,IAAI,CAAC;AAE5B,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC;AACrC,MAAM,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE5C,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,SAAS,IAAI,SAAS,CAErC;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CA0BrD"}
package/dist/bank.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export const BANK_TAB_COUNT = 6;
2
2
  export const BANK_SLOTS_PER_TAB = 20;
3
- export const BANK_MOVE_MAX = 50;
3
+ /** A sanity cap on one move, not a game rule: "all" moves a whole stack of coins in one go. */
4
+ export const BANK_MOVE_MAX = 10_000_000;
4
5
  export const BANK_QTY_PRESETS = [1, 5, 10, 50];
5
6
  export const BANK_RANGE = 3;
6
7
  export function emptyBankTab() {
package/dist/bank.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bank.js","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,CAAC;AAChC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAM5B,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,OAAO,GAAI,GAA0B,CAAC,IAAI,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;QACzC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;YAC/C,MAAM,GAAG,GAAI,IAA0B,CAAC,GAAG,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;gBAAE,SAAS;YAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,SAAS;YAC1E,MAAM,SAAS,GAAI,IAAgC,CAAC,SAAS,CAAC;YAC9D,GAAG,CAAC,CAAC,CAAC,GAAG;gBACP,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpB,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"bank.js","sourceRoot":"","sources":["../src/bank.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AACrC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACxD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC;AAM5B,MAAM,UAAU,YAAY;IAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,OAAO,GAAI,GAA0B,CAAC,IAAI,CAAC;IACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAc,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,QAAQ,CAAC;QACzC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;YAC/C,MAAM,GAAG,GAAI,IAA0B,CAAC,GAAG,CAAC;YAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI;gBAAE,SAAS;YAChD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,SAAS;YAC1E,MAAM,SAAS,GAAI,IAAgC,CAAC,SAAS,CAAC;YAC9D,GAAG,CAAC,CAAC,CAAC,GAAG;gBACP,IAAI;gBACJ,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpB,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtF,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC"}
@@ -10,9 +10,24 @@ export declare const BLACKSMITHING_HAMMER_KIND = "blacksmithinghammer";
10
10
  export declare const BRONZE_BAR_ITEM_KIND = "bronzebar";
11
11
  export declare const IRON_BAR_ITEM_KIND = "ironbar";
12
12
  export declare const BLACKSMITH_RANGE = 2;
13
+ /**
14
+ * The Garrison's training dummies (capital.ts): strength XP every
15
+ * TRAINING_DUMMY_INTERVAL_MS while a player spars one, until their
16
+ * strength reaches TRAINING_DUMMY_MAX_LEVEL, after which the dummy has
17
+ * nothing more to teach. Cheap early levels, never a way past real fights.
18
+ */
19
+ export declare const TRAINING_DUMMY_RANGE = 2;
20
+ export declare const TRAINING_DUMMY_INTERVAL_MS = 1800;
21
+ export declare const TRAINING_DUMMY_XP = 3;
22
+ export declare const TRAINING_DUMMY_MAX_LEVEL = 10;
23
+ /** The Temple's shrine: prayer heals in full and blesses for a quarter hour, once every ten minutes. */
24
+ export declare const TEMPLE_PRAYER_RANGE = 3;
25
+ export declare const TEMPLE_PRAYER_COOLDOWN_MS: number;
26
+ export declare const TEMPLE_BLESSING_MS: number;
27
+ export declare const TEMPLE_BLESSING_STRENGTH = 2;
13
28
  export declare const BLACKSMITH_INTERVAL_MS = 1800;
14
29
  export type BlacksmithStation = 'anvil' | 'furnace';
15
- export type BlacksmithCategory = 'smelting' | 'bronze' | 'iron';
30
+ export type BlacksmithCategory = 'smelting' | 'bronze' | 'iron' | 'steel';
16
31
  export type BlacksmithRecipe = {
17
32
  id: string;
18
33
  output: string;
@@ -1 +1 @@
1
- {"version":3,"file":"blacksmithing.d.ts","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EA4LzD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAE1F"}
1
+ {"version":3,"file":"blacksmithing.d.ts","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU,UAAU,CAAC;AAClC,eAAO,MAAM,YAAY,YAAY,CAAC;AACtC,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAChD,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAElC;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAC/C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,wGAAwG;AACxG,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AACxD,eAAO,MAAM,kBAAkB,QAAiB,CAAC;AACjD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EA0YzD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAEpE;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,CAE1F"}
@@ -10,6 +10,21 @@ export const BLACKSMITHING_HAMMER_KIND = 'blacksmithinghammer';
10
10
  export const BRONZE_BAR_ITEM_KIND = 'bronzebar';
11
11
  export const IRON_BAR_ITEM_KIND = 'ironbar';
12
12
  export const BLACKSMITH_RANGE = 2;
13
+ /**
14
+ * The Garrison's training dummies (capital.ts): strength XP every
15
+ * TRAINING_DUMMY_INTERVAL_MS while a player spars one, until their
16
+ * strength reaches TRAINING_DUMMY_MAX_LEVEL, after which the dummy has
17
+ * nothing more to teach. Cheap early levels, never a way past real fights.
18
+ */
19
+ export const TRAINING_DUMMY_RANGE = 2;
20
+ export const TRAINING_DUMMY_INTERVAL_MS = 1800;
21
+ export const TRAINING_DUMMY_XP = 3;
22
+ export const TRAINING_DUMMY_MAX_LEVEL = 10;
23
+ /** The Temple's shrine: prayer heals in full and blesses for a quarter hour, once every ten minutes. */
24
+ export const TEMPLE_PRAYER_RANGE = 3;
25
+ export const TEMPLE_PRAYER_COOLDOWN_MS = 10 * 60 * 1000;
26
+ export const TEMPLE_BLESSING_MS = 15 * 60 * 1000;
27
+ export const TEMPLE_BLESSING_STRENGTH = 2;
13
28
  export const BLACKSMITH_INTERVAL_MS = 1800;
14
29
  export const BLACKSMITH_RECIPES = [
15
30
  // Smelting (Furnace)
@@ -73,6 +88,16 @@ export const BLACKSMITH_RECIPES = [
73
88
  { kind: 'birchwood', qty: 1 },
74
89
  ],
75
90
  },
91
+ {
92
+ id: 'forge_bronzearrowhead',
93
+ output: 'bronzearrowhead',
94
+ outputQty: 10,
95
+ station: 'anvil',
96
+ category: 'bronze',
97
+ level: 4,
98
+ xp: 30,
99
+ materials: [{ kind: 'bronzebar', qty: 1 }],
100
+ },
76
101
  {
77
102
  id: 'forge_bronzesword',
78
103
  output: 'bronzesword',
@@ -134,6 +159,19 @@ export const BLACKSMITH_RECIPES = [
134
159
  xp: 60,
135
160
  materials: [{ kind: 'ironbar', qty: 1 }],
136
161
  },
162
+ {
163
+ id: 'forge_ironhatchet',
164
+ output: 'ironhatchet',
165
+ outputQty: 1,
166
+ station: 'anvil',
167
+ category: 'iron',
168
+ level: 16,
169
+ xp: 70,
170
+ materials: [
171
+ { kind: 'ironbar', qty: 1 },
172
+ { kind: 'pinewood', qty: 1 },
173
+ ],
174
+ },
137
175
  {
138
176
  id: 'forge_ironpickaxe',
139
177
  output: 'ironpickaxe',
@@ -147,6 +185,26 @@ export const BLACKSMITH_RECIPES = [
147
185
  { kind: 'pinewood', qty: 1 },
148
186
  ],
149
187
  },
188
+ {
189
+ id: 'forge_ironarrowhead',
190
+ output: 'ironarrowhead',
191
+ outputQty: 10,
192
+ station: 'anvil',
193
+ category: 'iron',
194
+ level: 17,
195
+ xp: 50,
196
+ materials: [{ kind: 'ironbar', qty: 1 }],
197
+ },
198
+ {
199
+ id: 'forge_ironthrowingdagger',
200
+ output: 'ironthrowingdagger',
201
+ outputQty: 1,
202
+ station: 'anvil',
203
+ category: 'iron',
204
+ level: 19,
205
+ xp: 62,
206
+ materials: [{ kind: 'ironbar', qty: 1 }],
207
+ },
150
208
  {
151
209
  id: 'forge_ironsword',
152
210
  output: 'ironsword',
@@ -197,6 +255,169 @@ export const BLACKSMITH_RECIPES = [
197
255
  xp: 240,
198
256
  materials: [{ kind: 'ironbar', qty: 4 }],
199
257
  },
258
+ {
259
+ id: 'forge_ironlongsword',
260
+ output: 'ironlongsword',
261
+ outputQty: 1,
262
+ station: 'anvil',
263
+ category: 'iron',
264
+ level: 24,
265
+ xp: 90,
266
+ materials: [{ kind: 'ironbar', qty: 3 }],
267
+ },
268
+ // Steel (Furnace, then Anvil): an iron bar and two coal make a steel bar.
269
+ {
270
+ id: 'smelt_steelbar',
271
+ output: 'steelbar',
272
+ outputQty: 1,
273
+ station: 'furnace',
274
+ category: 'smelting',
275
+ level: 30,
276
+ xp: 70,
277
+ materials: [
278
+ { kind: 'ironbar', qty: 1 },
279
+ { kind: 'coal', qty: 2 },
280
+ ],
281
+ },
282
+ {
283
+ id: 'forge_steeldagger',
284
+ output: 'steeldagger',
285
+ outputQty: 1,
286
+ station: 'anvil',
287
+ category: 'steel',
288
+ level: 30,
289
+ xp: 95,
290
+ materials: [{ kind: 'steelbar', qty: 1 }],
291
+ },
292
+ {
293
+ id: 'forge_steelhatchet',
294
+ output: 'steelhatchet',
295
+ outputQty: 1,
296
+ station: 'anvil',
297
+ category: 'steel',
298
+ level: 31,
299
+ xp: 105,
300
+ materials: [
301
+ { kind: 'steelbar', qty: 1 },
302
+ { kind: 'sprucewood', qty: 1 },
303
+ ],
304
+ },
305
+ {
306
+ id: 'forge_steelarrowhead',
307
+ output: 'steelarrowhead',
308
+ outputQty: 10,
309
+ station: 'anvil',
310
+ category: 'steel',
311
+ level: 31,
312
+ xp: 100,
313
+ materials: [{ kind: 'steelbar', qty: 1 }],
314
+ },
315
+ {
316
+ id: 'forge_steelthrowingdagger',
317
+ output: 'steelthrowingdagger',
318
+ outputQty: 1,
319
+ station: 'anvil',
320
+ category: 'steel',
321
+ level: 32,
322
+ xp: 110,
323
+ materials: [{ kind: 'steelbar', qty: 1 }],
324
+ },
325
+ {
326
+ id: 'forge_steelsword',
327
+ output: 'steelsword',
328
+ outputQty: 1,
329
+ station: 'anvil',
330
+ category: 'steel',
331
+ level: 33,
332
+ xp: 130,
333
+ materials: [{ kind: 'steelbar', qty: 2 }],
334
+ },
335
+ {
336
+ id: 'forge_steellongsword',
337
+ output: 'steellongsword',
338
+ outputQty: 1,
339
+ station: 'anvil',
340
+ category: 'steel',
341
+ level: 34,
342
+ xp: 150,
343
+ materials: [{ kind: 'steelbar', qty: 3 }],
344
+ },
345
+ {
346
+ id: 'forge_steelmace',
347
+ output: 'steelmace',
348
+ outputQty: 1,
349
+ station: 'anvil',
350
+ category: 'steel',
351
+ level: 35,
352
+ xp: 150,
353
+ materials: [
354
+ { kind: 'steelbar', qty: 2 },
355
+ { kind: 'pinewood', qty: 1 },
356
+ ],
357
+ },
358
+ {
359
+ id: 'forge_steelshield',
360
+ output: 'steelshield',
361
+ outputQty: 1,
362
+ station: 'anvil',
363
+ category: 'steel',
364
+ level: 36,
365
+ xp: 160,
366
+ materials: [{ kind: 'steelbar', qty: 2 }],
367
+ },
368
+ {
369
+ id: 'forge_steelbattleaxe',
370
+ output: 'steelbattleaxe',
371
+ outputQty: 1,
372
+ station: 'anvil',
373
+ category: 'steel',
374
+ level: 37,
375
+ xp: 180,
376
+ materials: [
377
+ { kind: 'steelbar', qty: 3 },
378
+ { kind: 'pinewood', qty: 1 },
379
+ ],
380
+ },
381
+ {
382
+ id: 'forge_steelhelmet',
383
+ output: 'steelhelmet',
384
+ outputQty: 1,
385
+ station: 'anvil',
386
+ category: 'steel',
387
+ level: 37,
388
+ xp: 180,
389
+ materials: [{ kind: 'steelbar', qty: 2 }],
390
+ },
391
+ {
392
+ id: 'forge_steellegs',
393
+ output: 'steellegs',
394
+ outputQty: 1,
395
+ station: 'anvil',
396
+ category: 'steel',
397
+ level: 38,
398
+ xp: 210,
399
+ materials: [{ kind: 'steelbar', qty: 3 }],
400
+ },
401
+ {
402
+ id: 'forge_steeltowershield',
403
+ output: 'steeltowershield',
404
+ outputQty: 1,
405
+ station: 'anvil',
406
+ category: 'steel',
407
+ level: 39,
408
+ xp: 240,
409
+ materials: [{ kind: 'steelbar', qty: 4 }],
410
+ },
411
+ {
412
+ id: 'forge_steelbody',
413
+ output: 'steelbody',
414
+ outputQty: 1,
415
+ station: 'anvil',
416
+ category: 'steel',
417
+ level: 40,
418
+ xp: 300,
419
+ materials: [{ kind: 'steelbar', qty: 5 }],
420
+ },
200
421
  ];
201
422
  export function blacksmithRecipe(id) {
202
423
  return BLACKSMITH_RECIPES.find((r) => r.id === id) ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"blacksmithing.js","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blacksmithing.js","sourceRoot":"","sources":["../src/blacksmithing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * The Blood River and the dragon ground at the heart of the Dreadwoods.
3
+ *
4
+ * The river crosses the whole square: in under the west wall, east through
5
+ * the middle of the woods, out under the east wall. A branch breaks off it
6
+ * at the centre and runs north through a ring of crag into the Blood Lake,
7
+ * where the dragons live. The west gate sits just under the river, so the
8
+ * way in from the west walks the south bank all the way to the crossing.
9
+ *
10
+ * This file is the geometry contract, like brokenRoad.ts: the backend carves
11
+ * water and lays the ground from these helpers, the client tints the water
12
+ * and the map from the same bounds, and the zone descriptor and admin links
13
+ * read the same tiles. All coordinates are world tiles.
14
+ */
15
+ /** The river's base line, south of the dragon ring, north of the mine. */
16
+ export declare const BLOOD_RIVER_BASE_Z = 480;
17
+ /** Centre line of the west-east run at column x. */
18
+ export declare function bloodRiverCenterZ(x: number): number;
19
+ /** Half-width of the run at column x: mostly 3 tiles wide, pooling to 5. */
20
+ export declare function bloodRiverHalfWidth(x: number): number;
21
+ /** Deterministic per-tile noise shared by every consumer of this file. */
22
+ export declare function bloodHash(x: number, z: number): number;
23
+ /** True on a water tile of the main west-east run. */
24
+ export declare function inBloodRiver(x: number, z: number): boolean;
25
+ export declare const BLOOD_BRANCH_BASE_X: number;
26
+ /** Centre line of the branch at row z. */
27
+ export declare function bloodBranchCenterX(z: number): number;
28
+ export declare const BLOOD_BRANCH_HALF_W = 1;
29
+ export declare const BLOOD_LAKE_CX = 462;
30
+ export declare const BLOOD_LAKE_CZ = 407;
31
+ export declare function inBloodLake(x: number, z: number): boolean;
32
+ export declare const DRAGON_RING_CX = 463;
33
+ export declare const DRAGON_RING_CZ = 414;
34
+ export declare const DRAGON_RING_RX = 52;
35
+ export declare const DRAGON_RING_RZ = 44;
36
+ /** Normalised radial distance from the ring centre: 1 is the ring line. */
37
+ export declare function dragonRingRadial(x: number, z: number): number;
38
+ /** Where the ring's south arc sits at column x (for pillars and the gap). */
39
+ export declare function dragonRingSouthZ(x: number): number;
40
+ /** The walk-in gap on the south arc, flanked by the ruined pillars. */
41
+ export declare const DRAGON_GATE_PATH_X: number;
42
+ export declare const DRAGON_GATE_MIN_X: number;
43
+ export declare const DRAGON_GATE_MAX_X: number;
44
+ /** The river gap on the south arc, where the branch runs out to the river. */
45
+ export declare const DRAGON_RIVER_GAP_MIN_X: number;
46
+ export declare const DRAGON_RIVER_GAP_MAX_X: number;
47
+ /** True where the ring must stay open (the gate, and the branch water). */
48
+ export declare function inDragonRingGap(x: number, z: number): boolean;
49
+ /** The main crossing: a three-plank bridge on the gate path's own axis. */
50
+ export declare const BLOOD_BRIDGE_X: number;
51
+ export declare const BLOOD_BRIDGE_HALF_W = 1;
52
+ /** The small crossing inside the ring, over the branch east of the path. */
53
+ export declare const BRANCH_BRIDGE_Z = 446;
54
+ export declare const BRANCH_BRIDGE_HALF_D = 1;
55
+ /** South-bank road rows: the river's edge plus this offset, two rows deep. */
56
+ export declare const RIVER_ROAD_BANK_OFFSET = 2;
57
+ /**
58
+ * The Dirt the way uses, as opposed to the Dirt of the banks: the south-bank
59
+ * road from the west gate to the crossing, the crossing's axis up to the
60
+ * ring gap, and inside the ring the gate path down to the lake, the fork
61
+ * east over the inner crossing and the spur up to the quarry. The backend
62
+ * lays these; the client keeps a track's colour on them where the bank
63
+ * soil around them goes dark.
64
+ */
65
+ export declare function onBloodRiverRoad(x: number, z: number): boolean;
66
+ /**
67
+ * Well north of the frost wall (NORTHERN_WALL_Z is 450), so the gate is
68
+ * reached through the wall's own gate and the ice country beyond it, not
69
+ * from the goblin side. It stood just under the river (BLOOD_RIVER_BASE_Z
70
+ * + 6 = 486) until 2026-09-18; a wall road inside the west wall now runs
71
+ * from the gate down to the river road (bloodRiver.ts, step 4).
72
+ */
73
+ export declare const DREADWOODS_WEST_GATE_Z = 410;
74
+ export declare const DREADWOODS_WEST_GATE_HALF_W = 2;
75
+ export declare function inDreadwoodsWestGate(x: number, z: number): boolean;
76
+ /** Nests on the western rise, each a clutch of eggs in a stone bowl. */
77
+ export declare const DRAGON_NESTS: readonly {
78
+ x: number;
79
+ z: number;
80
+ }[];
81
+ /** The looted quarry camp on the east side, under the dragons' banner. */
82
+ export declare const DRAGON_QUARRY: {
83
+ readonly x: 499;
84
+ readonly z: 406;
85
+ };
86
+ /**
87
+ * Where the dragons stand. The old one holds the lake's south shore where
88
+ * the path arrives; the rest keep the nests and the quarry. Scale is the
89
+ * visual size sent to clients: the old one is half again the others.
90
+ */
91
+ export declare const DRAGON_SPAWNS: readonly {
92
+ x: number;
93
+ z: number;
94
+ scale?: number;
95
+ }[];
96
+ /**
97
+ * Chart and 3D mid-tone. Deep and shallow sit either side for depth. Dark
98
+ * on purpose: the sheet is blood, near black in the body and only a
99
+ * little brighter where it meets the bank, and the 3D tile colour under
100
+ * the water has to agree with the shader or the bank corners bleed pink.
101
+ */
102
+ export declare const BLOOD_WATER_COLOR = "#7a1014";
103
+ export declare const BLOOD_WATER_COLOR_DEEP = "#26040a";
104
+ export declare const BLOOD_WATER_COLOR_SHALLOW = "#861a1e";
105
+ export declare const BLOOD_WATER_BOUNDS: {
106
+ readonly minX: number;
107
+ readonly maxX: number;
108
+ readonly minZ: number;
109
+ readonly maxZ: number;
110
+ };
111
+ /** True on a water tile of the north branch, lake to the main run. */
112
+ export declare function inBloodBranch(x: number, z: number): boolean;
113
+ /** True where Dreadwoods water is blood, not the default blue. */
114
+ export declare function isBloodWater(x: number, z: number): boolean;
115
+ //# sourceMappingURL=bloodRiver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bloodRiver.d.ts","sourceRoot":"","sources":["../src/bloodRiver.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAStC,oDAAoD;AACpD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAWD,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAItD;AAqBD,sDAAsD;AACtD,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAK1D;AAMD,eAAO,MAAM,mBAAmB,QAAwB,CAAC;AAEzD,0CAA0C;AAC1C,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAMrC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAOjC,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAMzD;AAOD,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIlD;AAED,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,QAAwB,CAAC;AACxD,eAAO,MAAM,iBAAiB,QAAyB,CAAC;AACxD,eAAO,MAAM,iBAAiB,QAAyB,CAAC;AAExD,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,QAA0B,CAAC;AAE9D,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAM7D;AAMD,2EAA2E;AAC3E,eAAO,MAAM,cAAc,QAAqB,CAAC;AACjD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,4EAA4E;AAC5E,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAc9D;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAC1C,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAKlE;AAMD,wEAAwE;AACxE,eAAO,MAAM,YAAY,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAI3D,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,aAAa;aAAK,CAAC,EAAE,GAAG;aAAE,CAAC,EAAE,GAAG;CAAW,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAO5E,CAAC;AASF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,eAAO,MAAM,kBAAkB;aAC7B,IAAI;aACJ,IAAI;aACJ,IAAI;aACJ,IAAI;CACI,CAAC;AAEX,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAU3D;AAED,kEAAkE;AAClE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE1D"}