@datamoc/mw_games 0.7.6 → 0.7.7

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 (283) hide show
  1. package/CHANGELOG.md +270 -0
  2. package/dist/actors/Inventory.d.ts +7 -1
  3. package/dist/actors/Inventory.d.ts.map +1 -1
  4. package/dist/actors/Inventory.js.map +1 -1
  5. package/dist/actors/craft.d.ts +35 -14
  6. package/dist/actors/craft.d.ts.map +1 -1
  7. package/dist/actors/craft.js +56 -24
  8. package/dist/actors/craft.js.map +1 -1
  9. package/dist/actors/index.d.ts +1 -1
  10. package/dist/actors/index.d.ts.map +1 -1
  11. package/dist/ai/Heuristics.d.ts +232 -0
  12. package/dist/ai/Heuristics.d.ts.map +1 -0
  13. package/dist/ai/Heuristics.js +298 -0
  14. package/dist/ai/Heuristics.js.map +1 -0
  15. package/dist/ai/index.d.ts +4 -0
  16. package/dist/ai/index.d.ts.map +1 -1
  17. package/dist/ai/index.js +2 -0
  18. package/dist/ai/index.js.map +1 -1
  19. package/dist/ai/score.d.ts +126 -0
  20. package/dist/ai/score.d.ts.map +1 -0
  21. package/dist/ai/score.js +121 -0
  22. package/dist/ai/score.js.map +1 -0
  23. package/dist/assets/loader.d.ts +18 -4
  24. package/dist/assets/loader.d.ts.map +1 -1
  25. package/dist/assets/loader.js +40 -11
  26. package/dist/assets/loader.js.map +1 -1
  27. package/dist/audio/Positional.d.ts +125 -0
  28. package/dist/audio/Positional.d.ts.map +1 -0
  29. package/dist/audio/Positional.js +135 -0
  30. package/dist/audio/Positional.js.map +1 -0
  31. package/dist/audio/Sound.d.ts +7 -1
  32. package/dist/audio/Sound.d.ts.map +1 -1
  33. package/dist/audio/Sound.js +8 -2
  34. package/dist/audio/Sound.js.map +1 -1
  35. package/dist/audio/index.d.ts +2 -0
  36. package/dist/audio/index.d.ts.map +1 -1
  37. package/dist/audio/index.js +1 -0
  38. package/dist/audio/index.js.map +1 -1
  39. package/dist/battle/AttackDialog.d.ts +75 -0
  40. package/dist/battle/AttackDialog.d.ts.map +1 -0
  41. package/dist/battle/AttackDialog.js +115 -0
  42. package/dist/battle/AttackDialog.js.map +1 -0
  43. package/dist/battle/AttackPreview.d.ts +70 -0
  44. package/dist/battle/AttackPreview.d.ts.map +1 -0
  45. package/dist/battle/AttackPreview.js +78 -0
  46. package/dist/battle/AttackPreview.js.map +1 -0
  47. package/dist/battle/BattleStats.d.ts +45 -0
  48. package/dist/battle/BattleStats.d.ts.map +1 -0
  49. package/dist/battle/BattleStats.js +63 -0
  50. package/dist/battle/BattleStats.js.map +1 -0
  51. package/dist/battle/UnitSelector.d.ts +72 -0
  52. package/dist/battle/UnitSelector.d.ts.map +1 -0
  53. package/dist/battle/UnitSelector.js +117 -0
  54. package/dist/battle/UnitSelector.js.map +1 -0
  55. package/dist/battle/Whiteboard.d.ts +50 -0
  56. package/dist/battle/Whiteboard.d.ts.map +1 -0
  57. package/dist/battle/Whiteboard.js +94 -0
  58. package/dist/battle/Whiteboard.js.map +1 -0
  59. package/dist/battle/index.d.ts +10 -0
  60. package/dist/battle/index.d.ts.map +1 -1
  61. package/dist/battle/index.js +5 -0
  62. package/dist/battle/index.js.map +1 -1
  63. package/dist/board/FogOfWar.d.ts +32 -2
  64. package/dist/board/FogOfWar.d.ts.map +1 -1
  65. package/dist/board/FogOfWar.js +70 -6
  66. package/dist/board/FogOfWar.js.map +1 -1
  67. package/dist/core/Achievements.d.ts +40 -7
  68. package/dist/core/Achievements.d.ts.map +1 -1
  69. package/dist/core/Achievements.js +51 -7
  70. package/dist/core/Achievements.js.map +1 -1
  71. package/dist/core/Hex.d.ts +26 -6
  72. package/dist/core/Hex.d.ts.map +1 -1
  73. package/dist/core/Hex.js +40 -13
  74. package/dist/core/Hex.js.map +1 -1
  75. package/dist/core/Input.d.ts +36 -0
  76. package/dist/core/Input.d.ts.map +1 -1
  77. package/dist/core/Input.js +63 -1
  78. package/dist/core/Input.js.map +1 -1
  79. package/dist/core/Random.d.ts +93 -0
  80. package/dist/core/Random.d.ts.map +1 -1
  81. package/dist/core/Random.js +177 -0
  82. package/dist/core/Random.js.map +1 -1
  83. package/dist/core/SyncGuard.d.ts +57 -0
  84. package/dist/core/SyncGuard.d.ts.map +1 -0
  85. package/dist/core/SyncGuard.js +116 -0
  86. package/dist/core/SyncGuard.js.map +1 -0
  87. package/dist/core/index.d.ts +3 -1
  88. package/dist/core/index.d.ts.map +1 -1
  89. package/dist/core/index.js +2 -1
  90. package/dist/core/index.js.map +1 -1
  91. package/dist/i18n/Po.d.ts +51 -0
  92. package/dist/i18n/Po.d.ts.map +1 -0
  93. package/dist/i18n/Po.js +176 -0
  94. package/dist/i18n/Po.js.map +1 -0
  95. package/dist/i18n/index.d.ts +2 -0
  96. package/dist/i18n/index.d.ts.map +1 -1
  97. package/dist/i18n/index.js +1 -0
  98. package/dist/i18n/index.js.map +1 -1
  99. package/dist/mw_games.global.js +104 -98
  100. package/dist/mwl/MapFile.d.ts +41 -0
  101. package/dist/mwl/MapFile.d.ts.map +1 -0
  102. package/dist/mwl/MapFile.js +43 -0
  103. package/dist/mwl/MapFile.js.map +1 -0
  104. package/dist/mwl/campaign.d.ts +51 -0
  105. package/dist/mwl/campaign.d.ts.map +1 -0
  106. package/dist/mwl/campaign.js +58 -0
  107. package/dist/mwl/campaign.js.map +1 -0
  108. package/dist/mwl/carryover.d.ts +79 -0
  109. package/dist/mwl/carryover.d.ts.map +1 -0
  110. package/dist/mwl/carryover.js +63 -0
  111. package/dist/mwl/carryover.js.map +1 -0
  112. package/dist/mwl/content.d.ts +10 -0
  113. package/dist/mwl/content.d.ts.map +1 -1
  114. package/dist/mwl/content.js +8 -0
  115. package/dist/mwl/content.js.map +1 -1
  116. package/dist/mwl/hooks.d.ts +6 -5
  117. package/dist/mwl/hooks.d.ts.map +1 -1
  118. package/dist/mwl/hooks.js.map +1 -1
  119. package/dist/mwl/index.d.ts +8 -2
  120. package/dist/mwl/index.d.ts.map +1 -1
  121. package/dist/mwl/index.js +4 -1
  122. package/dist/mwl/index.js.map +1 -1
  123. package/dist/mwl/runtime.d.ts +140 -7
  124. package/dist/mwl/runtime.d.ts.map +1 -1
  125. package/dist/mwl/runtime.js +427 -33
  126. package/dist/mwl/runtime.js.map +1 -1
  127. package/dist/mwl/schema.d.ts.map +1 -1
  128. package/dist/mwl/schema.js +97 -18
  129. package/dist/mwl/schema.js.map +1 -1
  130. package/dist/roguelike/MultiTurnBeam.d.ts +50 -12
  131. package/dist/roguelike/MultiTurnBeam.d.ts.map +1 -1
  132. package/dist/roguelike/MultiTurnBeam.js +100 -53
  133. package/dist/roguelike/MultiTurnBeam.js.map +1 -1
  134. package/dist/roguelike/Targeting.d.ts +94 -0
  135. package/dist/roguelike/Targeting.d.ts.map +1 -1
  136. package/dist/roguelike/Targeting.js +123 -0
  137. package/dist/roguelike/Targeting.js.map +1 -1
  138. package/dist/roguelike/index.d.ts +3 -1
  139. package/dist/roguelike/index.d.ts.map +1 -1
  140. package/dist/roguelike/index.js +1 -0
  141. package/dist/roguelike/index.js.map +1 -1
  142. package/dist/simulation/CampaignSave.d.ts +68 -0
  143. package/dist/simulation/CampaignSave.d.ts.map +1 -0
  144. package/dist/simulation/CampaignSave.js +54 -0
  145. package/dist/simulation/CampaignSave.js.map +1 -0
  146. package/dist/simulation/EventPresentation.d.ts +111 -0
  147. package/dist/simulation/EventPresentation.d.ts.map +1 -0
  148. package/dist/simulation/EventPresentation.js +120 -0
  149. package/dist/simulation/EventPresentation.js.map +1 -0
  150. package/dist/simulation/index.d.ts +4 -0
  151. package/dist/simulation/index.d.ts.map +1 -1
  152. package/dist/simulation/index.js +2 -0
  153. package/dist/simulation/index.js.map +1 -1
  154. package/dist/two-d/pixi-interop.d.ts +18 -6
  155. package/dist/two-d/pixi-interop.d.ts.map +1 -1
  156. package/dist/two-d/pixi-interop.js +18 -6
  157. package/dist/two-d/pixi-interop.js.map +1 -1
  158. package/dist/two-d/render/AnimatedSprite.d.ts +74 -7
  159. package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
  160. package/dist/two-d/render/AnimatedSprite.js +88 -26
  161. package/dist/two-d/render/AnimatedSprite.js.map +1 -1
  162. package/dist/two-d/render/Camera.d.ts +64 -4
  163. package/dist/two-d/render/Camera.d.ts.map +1 -1
  164. package/dist/two-d/render/Camera.js +132 -11
  165. package/dist/two-d/render/Camera.js.map +1 -1
  166. package/dist/two-d/render/Halo.d.ts +58 -0
  167. package/dist/two-d/render/Halo.d.ts.map +1 -0
  168. package/dist/two-d/render/Halo.js +48 -0
  169. package/dist/two-d/render/Halo.js.map +1 -0
  170. package/dist/two-d/render/ImageModifiers.d.ts +174 -0
  171. package/dist/two-d/render/ImageModifiers.d.ts.map +1 -1
  172. package/dist/two-d/render/ImageModifiers.js +438 -1
  173. package/dist/two-d/render/ImageModifiers.js.map +1 -1
  174. package/dist/two-d/render/LightningArc.d.ts +57 -0
  175. package/dist/two-d/render/LightningArc.d.ts.map +1 -0
  176. package/dist/two-d/render/LightningArc.js +91 -0
  177. package/dist/two-d/render/LightningArc.js.map +1 -0
  178. package/dist/two-d/render/PaletteRemap.d.ts +135 -0
  179. package/dist/two-d/render/PaletteRemap.d.ts.map +1 -0
  180. package/dist/two-d/render/PaletteRemap.js +181 -0
  181. package/dist/two-d/render/PaletteRemap.js.map +1 -0
  182. package/dist/two-d/render/Particles.d.ts +26 -0
  183. package/dist/two-d/render/Particles.d.ts.map +1 -1
  184. package/dist/two-d/render/Particles.js +23 -2
  185. package/dist/two-d/render/Particles.js.map +1 -1
  186. package/dist/two-d/render/SpriteAttachment.d.ts +55 -0
  187. package/dist/two-d/render/SpriteAttachment.d.ts.map +1 -0
  188. package/dist/two-d/render/SpriteAttachment.js +60 -0
  189. package/dist/two-d/render/SpriteAttachment.js.map +1 -0
  190. package/dist/two-d/render/TerrainGraphics.d.ts +142 -0
  191. package/dist/two-d/render/TerrainGraphics.d.ts.map +1 -0
  192. package/dist/two-d/render/TerrainGraphics.js +161 -0
  193. package/dist/two-d/render/TerrainGraphics.js.map +1 -0
  194. package/dist/two-d/render/index.d.ts +13 -3
  195. package/dist/two-d/render/index.d.ts.map +1 -1
  196. package/dist/two-d/render/index.js +6 -1
  197. package/dist/two-d/render/index.js.map +1 -1
  198. package/dist/two-d/stage/StoryScreen.d.ts +110 -0
  199. package/dist/two-d/stage/StoryScreen.d.ts.map +1 -0
  200. package/dist/two-d/stage/StoryScreen.js +178 -0
  201. package/dist/two-d/stage/StoryScreen.js.map +1 -0
  202. package/dist/two-d/stage/index.d.ts +2 -0
  203. package/dist/two-d/stage/index.d.ts.map +1 -1
  204. package/dist/two-d/stage/index.js +1 -0
  205. package/dist/two-d/stage/index.js.map +1 -1
  206. package/dist/two-d/ui/Checkbox.d.ts +44 -0
  207. package/dist/two-d/ui/Checkbox.d.ts.map +1 -0
  208. package/dist/two-d/ui/Checkbox.js +89 -0
  209. package/dist/two-d/ui/Checkbox.js.map +1 -0
  210. package/dist/two-d/ui/DataTable.d.ts +79 -0
  211. package/dist/two-d/ui/DataTable.d.ts.map +1 -0
  212. package/dist/two-d/ui/DataTable.js +164 -0
  213. package/dist/two-d/ui/DataTable.js.map +1 -0
  214. package/dist/two-d/ui/Dropdown.d.ts +72 -0
  215. package/dist/two-d/ui/Dropdown.d.ts.map +1 -0
  216. package/dist/two-d/ui/Dropdown.js +126 -0
  217. package/dist/two-d/ui/Dropdown.js.map +1 -0
  218. package/dist/two-d/ui/FloatingText.d.ts +43 -4
  219. package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
  220. package/dist/two-d/ui/FloatingText.js +52 -5
  221. package/dist/two-d/ui/FloatingText.js.map +1 -1
  222. package/dist/two-d/ui/FloatingTextStack.d.ts +86 -13
  223. package/dist/two-d/ui/FloatingTextStack.d.ts.map +1 -1
  224. package/dist/two-d/ui/FloatingTextStack.js +89 -18
  225. package/dist/two-d/ui/FloatingTextStack.js.map +1 -1
  226. package/dist/two-d/ui/Layout.d.ts +105 -0
  227. package/dist/two-d/ui/Layout.d.ts.map +1 -0
  228. package/dist/two-d/ui/Layout.js +174 -0
  229. package/dist/two-d/ui/Layout.js.map +1 -0
  230. package/dist/two-d/ui/ScrollBox.d.ts +67 -0
  231. package/dist/two-d/ui/ScrollBox.d.ts.map +1 -0
  232. package/dist/two-d/ui/ScrollBox.js +127 -0
  233. package/dist/two-d/ui/ScrollBox.js.map +1 -0
  234. package/dist/two-d/ui/Skins.d.ts +59 -0
  235. package/dist/two-d/ui/Skins.d.ts.map +1 -0
  236. package/dist/two-d/ui/Skins.js +77 -0
  237. package/dist/two-d/ui/Skins.js.map +1 -0
  238. package/dist/two-d/ui/Slider.d.ts +91 -0
  239. package/dist/two-d/ui/Slider.d.ts.map +1 -0
  240. package/dist/two-d/ui/Slider.js +170 -0
  241. package/dist/two-d/ui/Slider.js.map +1 -0
  242. package/dist/two-d/ui/Spinner.d.ts +67 -0
  243. package/dist/two-d/ui/Spinner.d.ts.map +1 -0
  244. package/dist/two-d/ui/Spinner.js +137 -0
  245. package/dist/two-d/ui/Spinner.js.map +1 -0
  246. package/dist/two-d/ui/TabbedList.d.ts +118 -0
  247. package/dist/two-d/ui/TabbedList.d.ts.map +1 -0
  248. package/dist/two-d/ui/TabbedList.js +221 -0
  249. package/dist/two-d/ui/TabbedList.js.map +1 -0
  250. package/dist/two-d/ui/TextModel.d.ts +65 -0
  251. package/dist/two-d/ui/TextModel.d.ts.map +1 -0
  252. package/dist/two-d/ui/TextModel.js +126 -0
  253. package/dist/two-d/ui/TextModel.js.map +1 -0
  254. package/dist/two-d/ui/TreeView.d.ts +68 -0
  255. package/dist/two-d/ui/TreeView.d.ts.map +1 -0
  256. package/dist/two-d/ui/TreeView.js +133 -0
  257. package/dist/two-d/ui/TreeView.js.map +1 -0
  258. package/dist/two-d/ui/Window.d.ts +13 -0
  259. package/dist/two-d/ui/Window.d.ts.map +1 -1
  260. package/dist/two-d/ui/Window.js +23 -0
  261. package/dist/two-d/ui/Window.js.map +1 -1
  262. package/dist/two-d/ui/WindowStack.d.ts.map +1 -1
  263. package/dist/two-d/ui/WindowStack.js +2 -0
  264. package/dist/two-d/ui/WindowStack.js.map +1 -1
  265. package/dist/two-d/ui/index.d.ts +27 -3
  266. package/dist/two-d/ui/index.d.ts.map +1 -1
  267. package/dist/two-d/ui/index.js +14 -2
  268. package/dist/two-d/ui/index.js.map +1 -1
  269. package/dist/two-d/ui/markup.d.ts +127 -0
  270. package/dist/two-d/ui/markup.d.ts.map +1 -0
  271. package/dist/two-d/ui/markup.js +322 -0
  272. package/dist/two-d/ui/markup.js.map +1 -0
  273. package/dist/version.d.ts +1 -1
  274. package/dist/version.js +1 -1
  275. package/dist/world/SideTurns.d.ts +115 -0
  276. package/dist/world/SideTurns.d.ts.map +1 -0
  277. package/dist/world/SideTurns.js +138 -0
  278. package/dist/world/SideTurns.js.map +1 -0
  279. package/dist/world/index.d.ts +2 -0
  280. package/dist/world/index.d.ts.map +1 -1
  281. package/dist/world/index.js +1 -0
  282. package/dist/world/index.js.map +1 -1
  283. package/package.json +2 -1
@@ -0,0 +1,41 @@
1
+ /**
2
+ * A loaded `.map`: the header keys the file declared, the grid `parseTerrain` already produces,
3
+ * and the same start markers an inline `[map] terrain=` string carries.
4
+ */
5
+ export interface MwlMapFile {
6
+ /** the `key=value` lines before the grid, in the order written (`border_size`, `usage`, ...) */
7
+ readonly header: Readonly<Record<string, string>>;
8
+ readonly width: number;
9
+ readonly height: number;
10
+ /** row-major terrain codes, `width * height` of them */
11
+ readonly codes: string[];
12
+ /** side number -> the hexes its `[side] start` came from, when the grid marks them */
13
+ readonly starts: Record<number, {
14
+ x: number;
15
+ y: number;
16
+ }[]>;
17
+ }
18
+ /**
19
+ * Reads a Wesnoth-shaped `.map` file: `key=value` header lines (`border_size=1`, `usage=map`,
20
+ * and anything else the file carries), then one comma-separated row of terrain codes per line.
21
+ * The header is split off and kept, and the grid goes through the same `parseTerrain` an inline
22
+ * `[map] terrain=` string does, so a cell is `base^overlay` exactly as it is there and a
23
+ * `<side> <code>` token still marks that side's start.
24
+ *
25
+ * A file with no header is a bare grid, and the header keys are not interpreted here: what
26
+ * `usage` or `border_size` means to a game is the game's business, the same way this framework
27
+ * leaves `[terrain_graphics]` rules to content.
28
+ *
29
+ * @example
30
+ * ```ts
31
+ * import { parseMapFile } from '@datamoc/mw_games/mwl';
32
+ *
33
+ * const map = parseMapFile('border_size=1\nusage=map\n\nGg, Gg, Gg\nGg, Gg^Vh, Gg\n');
34
+ * map.header.usage; // 'map'
35
+ * map.width; // 3
36
+ * map.height; // 2
37
+ * map.codes; // ['Gg', 'Gg', 'Gg', 'Gg', 'Gg^Vh', 'Gg'] - overlays kept as written
38
+ * ```
39
+ */
40
+ export declare function parseMapFile(text: string): MwlMapFile;
41
+ //# sourceMappingURL=MapFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapFile.d.ts","sourceRoot":"","sources":["../../src/mwl/MapFile.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;CAC5D;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAiBrD"}
@@ -0,0 +1,43 @@
1
+ import { parseTerrain } from './runtime.js';
2
+ const HEADER_LINE = /^\s*([A-Za-z_][\w]*)\s*=\s*(.*?)\s*$/;
3
+ /**
4
+ * Reads a Wesnoth-shaped `.map` file: `key=value` header lines (`border_size=1`, `usage=map`,
5
+ * and anything else the file carries), then one comma-separated row of terrain codes per line.
6
+ * The header is split off and kept, and the grid goes through the same `parseTerrain` an inline
7
+ * `[map] terrain=` string does, so a cell is `base^overlay` exactly as it is there and a
8
+ * `<side> <code>` token still marks that side's start.
9
+ *
10
+ * A file with no header is a bare grid, and the header keys are not interpreted here: what
11
+ * `usage` or `border_size` means to a game is the game's business, the same way this framework
12
+ * leaves `[terrain_graphics]` rules to content.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { parseMapFile } from '@datamoc/mw_games/mwl';
17
+ *
18
+ * const map = parseMapFile('border_size=1\nusage=map\n\nGg, Gg, Gg\nGg, Gg^Vh, Gg\n');
19
+ * map.header.usage; // 'map'
20
+ * map.width; // 3
21
+ * map.height; // 2
22
+ * map.codes; // ['Gg', 'Gg', 'Gg', 'Gg', 'Gg^Vh', 'Gg'] - overlays kept as written
23
+ * ```
24
+ */
25
+ export function parseMapFile(text) {
26
+ const lines = text.split(/\r?\n/);
27
+ const header = {};
28
+ let index = 0;
29
+ for (; index < lines.length; index++) {
30
+ const line = lines[index];
31
+ if (line.trim() === '')
32
+ continue;
33
+ const match = HEADER_LINE.exec(line);
34
+ if (!match)
35
+ break;
36
+ header[match[1]] = match[2];
37
+ }
38
+ //a trailing separator or stray spaces would otherwise become an empty cell
39
+ const grid = lines.slice(index).map((line) => line.replace(/[,\s]+$/, ''));
40
+ const parsed = parseTerrain(grid.join('\n'));
41
+ return { header, ...parsed };
42
+ }
43
+ //# sourceMappingURL=MapFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MapFile.js","sourceRoot":"","sources":["../../src/mwl/MapFile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C,MAAM,WAAW,GAAG,sCAAsC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,2EAA2E;IAC3E,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { StateValue } from '../core/State.ts';
2
+ import type { CampaignLevel, CampaignLevelResult } from '../simulation/Campaign.ts';
3
+ import type { MwlCampaignDefinition, MwlScenarioLink } from './content.ts';
4
+ /** What playing one scenario means, which only the game can say. */
5
+ export type MwlScenarioRunner<State extends StateValue, Result extends StateValue = StateValue> = (scenario: MwlScenarioLink, state: State, context: {
6
+ readonly levelId: string;
7
+ }) => CampaignLevelResult<State, Result>;
8
+ /** A campaign's chain, shaped for `simulation.Campaign`: where it opens, and one level per scenario. */
9
+ export interface MwlCampaignChain<State extends StateValue, Result extends StateValue = StateValue> {
10
+ readonly start: string;
11
+ readonly levels: readonly CampaignLevel<State, Result>[];
12
+ }
13
+ /**
14
+ * Points a `[campaign]` at `simulation.Campaign`: the order comes out of the content, the playing
15
+ * stays the game's.
16
+ *
17
+ * `first_scenario` opens the campaign, and the first declared scenario opens it when the attribute
18
+ * is not set. Each scenario's `next_scenario` is where it goes when it is won, and a scenario that
19
+ * ends the chain leaves it: the campaign finishes. A scenario that decides for itself keeps its
20
+ * decision, because a result carrying `next` is passed through untouched - which is exactly what a
21
+ * runtime `[endlevel]` does when it overrides the authored chain.
22
+ *
23
+ * Malformed chains throw by name rather than being guessed at: no scenarios, the same id twice, or
24
+ * a `first_scenario` naming something the campaign does not have.
25
+ *
26
+ * @example
27
+ * ```ts
28
+ * import { campaignChain } from '@datamoc/mw_games/mwl';
29
+ * import { Campaign } from '@datamoc/mw_games/simulation';
30
+ *
31
+ * const definition = {
32
+ * id: 'prologue',
33
+ * firstScenario: 'opening',
34
+ * scenarios: [{ id: 'opening', nextScenario: 'siege' }, { id: 'siege' }],
35
+ * };
36
+ *
37
+ * const chain = campaignChain(definition, {
38
+ * run: (scenario, state) => ({ outcome: 'completed', state, result: scenario.id }),
39
+ * });
40
+ *
41
+ * const campaign = new Campaign({ levels: chain.levels, start: chain.start, state: { gold: 100 } });
42
+ * campaign.playCurrent();
43
+ * console.log(campaign.currentLevel); // 'siege'
44
+ * campaign.playCurrent();
45
+ * console.log(campaign.currentLevel); // null - the chain is done
46
+ * ```
47
+ */
48
+ export declare function campaignChain<State extends StateValue, Result extends StateValue = StateValue>(definition: MwlCampaignDefinition, options: {
49
+ readonly run: MwlScenarioRunner<State, Result>;
50
+ }): MwlCampaignChain<State, Result>;
51
+ //# sourceMappingURL=campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.d.ts","sourceRoot":"","sources":["../../src/mwl/campaign.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3E,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,UAAU,EAAE,MAAM,SAAS,UAAU,GAAG,UAAU,IAAI,CACjG,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,KACjC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAExC,wGAAwG;AACxG,MAAM,WAAW,gBAAgB,CAAC,KAAK,SAAS,UAAU,EAAE,MAAM,SAAS,UAAU,GAAG,UAAU;IACjG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,aAAa,CAAC,KAAK,SAAS,UAAU,EAAE,MAAM,SAAS,UAAU,GAAG,UAAU,EAC7F,UAAU,EAAE,qBAAqB,EACjC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GACzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAqBjC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Points a `[campaign]` at `simulation.Campaign`: the order comes out of the content, the playing
3
+ * stays the game's.
4
+ *
5
+ * `first_scenario` opens the campaign, and the first declared scenario opens it when the attribute
6
+ * is not set. Each scenario's `next_scenario` is where it goes when it is won, and a scenario that
7
+ * ends the chain leaves it: the campaign finishes. A scenario that decides for itself keeps its
8
+ * decision, because a result carrying `next` is passed through untouched - which is exactly what a
9
+ * runtime `[endlevel]` does when it overrides the authored chain.
10
+ *
11
+ * Malformed chains throw by name rather than being guessed at: no scenarios, the same id twice, or
12
+ * a `first_scenario` naming something the campaign does not have.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { campaignChain } from '@datamoc/mw_games/mwl';
17
+ * import { Campaign } from '@datamoc/mw_games/simulation';
18
+ *
19
+ * const definition = {
20
+ * id: 'prologue',
21
+ * firstScenario: 'opening',
22
+ * scenarios: [{ id: 'opening', nextScenario: 'siege' }, { id: 'siege' }],
23
+ * };
24
+ *
25
+ * const chain = campaignChain(definition, {
26
+ * run: (scenario, state) => ({ outcome: 'completed', state, result: scenario.id }),
27
+ * });
28
+ *
29
+ * const campaign = new Campaign({ levels: chain.levels, start: chain.start, state: { gold: 100 } });
30
+ * campaign.playCurrent();
31
+ * console.log(campaign.currentLevel); // 'siege'
32
+ * campaign.playCurrent();
33
+ * console.log(campaign.currentLevel); // null - the chain is done
34
+ * ```
35
+ */
36
+ export function campaignChain(definition, options) {
37
+ const scenarios = definition.scenarios;
38
+ if (scenarios.length === 0)
39
+ throw new Error(`campaign ${definition.id} declares no scenarios`);
40
+ const known = new Set(scenarios.map((scenario) => scenario.id));
41
+ if (known.size !== scenarios.length)
42
+ throw new Error(`campaign ${definition.id} declares a scenario twice`);
43
+ const start = definition.firstScenario || scenarios[0].id;
44
+ if (!known.has(start))
45
+ throw new Error(`campaign ${definition.id} starts on an unknown scenario: ${start}`);
46
+ return {
47
+ start,
48
+ levels: scenarios.map((scenario) => ({
49
+ id: scenario.id,
50
+ run: (state, context) => {
51
+ const result = options.run(scenario, state, context);
52
+ //the authored chain answers "where next" unless the scenario answered for itself
53
+ return result.next === undefined ? { ...result, next: scenario.nextScenario ?? null } : result;
54
+ },
55
+ })),
56
+ };
57
+ }
58
+ //# sourceMappingURL=campaign.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaign.js","sourceRoot":"","sources":["../../src/mwl/campaign.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,aAAa,CAC5B,UAAiC,EACjC,OAA2D;IAE3D,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACvC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAE/F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAE5G,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,UAAU,CAAC,EAAE,mCAAmC,KAAK,EAAE,CAAC,CAAC;IAE5G,OAAO;QACN,KAAK;QACL,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACpC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACrD,iFAAiF;gBACjF,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAChG,CAAC;SACD,CAAC,CAAC;KACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { MwlWorld } from './runtime.ts';
2
+ /**
3
+ * Wesnoth's default: the share of a side's gold that survives into the next scenario, unless
4
+ * `[endlevel] carryover_percentage` says otherwise. Its engine carries the winner's gold at 80%,
5
+ * which is the number this mirrors rather than one invented here.
6
+ */
7
+ export declare const MWL_DEFAULT_CARRYOVER_PERCENTAGE = 80;
8
+ /**
9
+ * Which side an ending scenario hands on: the id `[side]` declared, which is the one identity the
10
+ * world uses, keying `world.sides` and `world.gold` and carried by `unit.side` alike (item 277).
11
+ */
12
+ export interface MwlSideRef {
13
+ /** the id `[side]` declared, the key `world.sides` and `world.gold` use, and `unit.side` holds */
14
+ readonly id: string;
15
+ }
16
+ /** What `[endlevel]` says when a scenario ends. */
17
+ export interface MwlEndLevel {
18
+ readonly result: 'victory' | 'defeat';
19
+ /** `bonus`: gold added on top of the share, not a share of it */
20
+ readonly bonus?: number;
21
+ /** `carryover_percentage`: the share of the side's gold kept, 80 when unset */
22
+ readonly carryoverPercentage?: number;
23
+ /** `carryover_add`: add the share to the next scenario's gold rather than take the larger of them */
24
+ readonly carryoverAdd?: boolean;
25
+ /** `next_scenario`: where the campaign goes instead of the authored chain, null to end it */
26
+ readonly nextScenario?: string | null;
27
+ }
28
+ /** What one scenario hands to the next. Plain data, so it survives a save. */
29
+ export interface MwlCarryover {
30
+ readonly result: 'victory' | 'defeat';
31
+ /** the gold handed on: the side's share, plus the bonus */
32
+ readonly gold: number;
33
+ /** whether the share is added to the next scenario's gold or taken as a floor under it */
34
+ readonly add: boolean;
35
+ /** ids of the side's units still standing, which become the recall list */
36
+ readonly recall: readonly string[];
37
+ /** where the campaign goes next; null ends it */
38
+ readonly nextScenario: string | null;
39
+ }
40
+ /**
41
+ * Works out what a finished scenario hands on: `bonus` plus `carryover_percentage` of the side's
42
+ * gold, the units of that side still standing, and where the campaign goes next.
43
+ *
44
+ * A side of `null` is a scenario that ended without one (no `[side]`, nothing human-controlled):
45
+ * the result and the next scenario are still recorded, with no gold and nobody to recall.
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * import { endLevelCarryover, carryoverIntoScenario } from '@datamoc/mw_games/mwl';
50
+ *
51
+ * const world = {
52
+ * variables: {},
53
+ * gold: { '1': 200 },
54
+ * sides: { '1': { gold: 0, income: 2, controller: 'human' } },
55
+ * units: { hero: { hp: 30, x: 1, y: 1, alive: true, side: '1' } },
56
+ * maps: {},
57
+ * turn: 1,
58
+ * status: 'playing' as const,
59
+ * };
60
+ *
61
+ * const carried = endLevelCarryover(world, { id: '1' }, {
62
+ * result: 'victory',
63
+ * bonus: 50,
64
+ * nextScenario: 'siege',
65
+ * });
66
+ *
67
+ * console.log(carried.gold); // 210 - 50 bonus plus 80% of 200
68
+ * console.log(carried.recall); // ['hero'] - still standing, so it comes back
69
+ * console.log(carryoverIntoScenario(carried, 100)); // 210 - the larger of the two, not the sum
70
+ * ```
71
+ */
72
+ export declare function endLevelCarryover(world: MwlWorld, side: MwlSideRef | null, end: MwlEndLevel): MwlCarryover;
73
+ /**
74
+ * What the next scenario starts with, given what it declares and what was carried: the two added
75
+ * when the ending asked for that (`carryover_add`), and otherwise the larger of them, so a share
76
+ * never drags a side below the gold its own scenario gives it.
77
+ */
78
+ export declare function carryoverIntoScenario(carryover: MwlCarryover, declaredGold: number): number;
79
+ //# sourceMappingURL=carryover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carryover.d.ts","sourceRoot":"","sources":["../../src/mwl/carryover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,KAAK,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,kGAAkG;IAClG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACpB;AAED,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEtC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB,+EAA+E;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAEtC,qGAAqG;IACrG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC,6FAA6F;IAC7F,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,8EAA8E;AAC9E,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEtC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IAEtB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC,iDAAiD;IACjD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,GAAG,YAAY,CAgB1G;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE3F"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Wesnoth's default: the share of a side's gold that survives into the next scenario, unless
3
+ * `[endlevel] carryover_percentage` says otherwise. Its engine carries the winner's gold at 80%,
4
+ * which is the number this mirrors rather than one invented here.
5
+ */
6
+ export const MWL_DEFAULT_CARRYOVER_PERCENTAGE = 80;
7
+ /**
8
+ * Works out what a finished scenario hands on: `bonus` plus `carryover_percentage` of the side's
9
+ * gold, the units of that side still standing, and where the campaign goes next.
10
+ *
11
+ * A side of `null` is a scenario that ended without one (no `[side]`, nothing human-controlled):
12
+ * the result and the next scenario are still recorded, with no gold and nobody to recall.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { endLevelCarryover, carryoverIntoScenario } from '@datamoc/mw_games/mwl';
17
+ *
18
+ * const world = {
19
+ * variables: {},
20
+ * gold: { '1': 200 },
21
+ * sides: { '1': { gold: 0, income: 2, controller: 'human' } },
22
+ * units: { hero: { hp: 30, x: 1, y: 1, alive: true, side: '1' } },
23
+ * maps: {},
24
+ * turn: 1,
25
+ * status: 'playing' as const,
26
+ * };
27
+ *
28
+ * const carried = endLevelCarryover(world, { id: '1' }, {
29
+ * result: 'victory',
30
+ * bonus: 50,
31
+ * nextScenario: 'siege',
32
+ * });
33
+ *
34
+ * console.log(carried.gold); // 210 - 50 bonus plus 80% of 200
35
+ * console.log(carried.recall); // ['hero'] - still standing, so it comes back
36
+ * console.log(carryoverIntoScenario(carried, 100)); // 210 - the larger of the two, not the sum
37
+ * ```
38
+ */
39
+ export function endLevelCarryover(world, side, end) {
40
+ const percentage = end.carryoverPercentage ?? MWL_DEFAULT_CARRYOVER_PERCENTAGE;
41
+ const held = side ? (world.gold[side.id] ?? world.sides[side.id]?.gold ?? 0) : 0;
42
+ return {
43
+ result: end.result,
44
+ gold: Math.floor((held * percentage) / 100) + (end.bonus ?? 0),
45
+ add: end.carryoverAdd ?? false,
46
+ recall: side
47
+ ? Object.entries(world.units)
48
+ .filter(([, unit]) => unit.alive && unit.side === side.id)
49
+ .map(([id]) => id)
50
+ .sort()
51
+ : [],
52
+ nextScenario: end.nextScenario ?? null,
53
+ };
54
+ }
55
+ /**
56
+ * What the next scenario starts with, given what it declares and what was carried: the two added
57
+ * when the ending asked for that (`carryover_add`), and otherwise the larger of them, so a share
58
+ * never drags a side below the gold its own scenario gives it.
59
+ */
60
+ export function carryoverIntoScenario(carryover, declaredGold) {
61
+ return carryover.add ? declaredGold + carryover.gold : Math.max(declaredGold, carryover.gold);
62
+ }
63
+ //# sourceMappingURL=carryover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"carryover.js","sourceRoot":"","sources":["../../src/mwl/carryover.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AA6CnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAe,EAAE,IAAuB,EAAE,GAAgB;IAC3F,MAAM,UAAU,GAAG,GAAG,CAAC,mBAAmB,IAAI,gCAAgC,CAAC;IAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjF,OAAO;QACN,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;QAC9D,GAAG,EAAE,GAAG,CAAC,YAAY,IAAI,KAAK;QAC9B,MAAM,EAAE,IAAI;YACX,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;iBACzD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;iBACjB,IAAI,EAAE;YACT,CAAC,CAAC,EAAE;QACL,YAAY,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;KACtC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAuB,EAAE,YAAoB;IAClF,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC"}
@@ -11,12 +11,22 @@ export interface MwlTableDefinition {
11
11
  readonly columns: readonly MwlTableColumn[];
12
12
  readonly rows: readonly Readonly<Record<string, unknown>>[];
13
13
  }
14
+ /** One scenario in a campaign's chain: where it goes when it is won. */
15
+ export interface MwlScenarioLink {
16
+ readonly id: string;
17
+ /** the scenario that follows, `next_scenario`; absent means this one ends the campaign */
18
+ readonly nextScenario?: string;
19
+ }
14
20
  export interface MwlCampaignDefinition {
15
21
  readonly id: string;
16
22
  readonly name?: string;
17
23
  readonly title?: string;
18
24
  readonly description?: string;
19
25
  readonly startScene?: string;
26
+ /** the scenario the campaign opens on, `first_scenario`; the first declared one when unset */
27
+ readonly firstScenario?: string;
28
+ /** the campaign's scenarios in declared order, each with the one that follows it */
29
+ readonly scenarios: readonly MwlScenarioLink[];
20
30
  }
21
31
  export interface MwlItemDefinition {
22
32
  readonly id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/mwl/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/mwl/content.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,14 @@ export function contentCatalog(game) {
16
16
  title: node.attributes.title,
17
17
  description: node.attributes.description,
18
18
  startScene: node.attributes.start_scene,
19
+ firstScenario: node.attributes.first_scenario,
20
+ scenarios: node.children
21
+ .filter((child) => child.tag === 'scenario')
22
+ .map((child) => ({
23
+ id: required(child, 'id'),
24
+ //an empty `next_scenario` is the same as none: the campaign ends there
25
+ nextScenario: child.attributes.next_scenario || undefined,
26
+ })),
19
27
  })),
20
28
  items: nodes
21
29
  .filter((node) => node.tag === 'item')
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/mwl/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/mwl/content.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,8 @@ export interface HookWorld {
18
18
  readonly y: number;
19
19
  readonly alive: boolean;
20
20
  readonly type?: string;
21
- readonly side?: number;
21
+ /** the id `[side]` declared, the same key `world.sides` and `world.gold` use */
22
+ readonly side?: string;
22
23
  }>>;
23
24
  readonly sides: Readonly<Record<string, {
24
25
  readonly gold: number;
@@ -30,14 +31,14 @@ export interface HookWorld {
30
31
  export interface Emit {
31
32
  move(unit: string, x: number, y: number): void;
32
33
  attack(attacker: string, defender: string, weapon?: string): void;
33
- spawn(type: string, side: number, x: number, y: number): void;
34
+ spawn(type: string, side: string, x: number, y: number): void;
34
35
  kill(unit: string): void;
35
- gold(side: number, delta: number): void;
36
+ gold(side: string, delta: number): void;
36
37
  setVariable(name: string, value: MwlValue): void;
37
38
  message(speaker: string, text: string): void;
38
39
  endTurn(): void;
39
- win(side: number): void;
40
- lose(side: number): void;
40
+ win(side: string): void;
41
+ lose(side: string): void;
41
42
  }
42
43
  export type HookContext = Readonly<Record<string, string>>;
43
44
  export type PredicateHook = (world: HookWorld, context: HookContext) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/mwl/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/mwl/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mwl/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mwl/hooks.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,21 @@
1
1
  export { MwlSyntaxError, isGettext, parse, parseValue, preprocess } from './grammar.ts';
2
2
  export type { MwlDiagnostic, MwlLocation, MwlNode, MwlPreprocessOptions } from './grammar.ts';
3
+ export { parseMapFile } from './MapFile.ts';
4
+ export type { MwlMapFile } from './MapFile.ts';
3
5
  export { coerceTableValue, parseTableColumns, schema01, validate } from './schema.ts';
4
6
  export type { MwlTableColumn, MwlTagSchema, MwlValueType } from './schema.ts';
5
7
  export { compile, compileAndEmitSources, compileNodes, compileSources, emitArtifacts, emitModule, extractCatalog, } from './compiler.ts';
6
8
  export type { MwlArtifact, MwlCatalog, MwlCatalogOptions, MwlCompileOptions, MwlCompiledGame, MwlCompiledNode, MwlEmitOptions, MwlSourceFile, } from './compiler.ts';
7
9
  export { collectHookReferences, emitHooksDeclaration, hookTypes, parseHookReference, validateHookReferences, } from './hooks.ts';
8
10
  export type { AiHook, CommandHook, Emit, GeneratorHook, HookContext, HookReference, HookType, HookTypeMap, HookWorld, MigrationHook, ModifierHook, PredicateHook, } from './hooks.ts';
9
- export { createWorld, execute, MwlRuntime, parseTerrain } from './runtime.ts';
11
+ export { createWorld, execute, MwlRuntime, parseTerrain, sideVisionGroups } from './runtime.ts';
10
12
  export type { MwlCommand, MwlDialogueChoice, MwlHookRegistry, MwlMap, MwlMapStart, MwlMessage, MwlRuntimeOptions, MwlTraceEvent, MwlWorld, } from './runtime.ts';
13
+ export { carryoverIntoScenario, endLevelCarryover, MWL_DEFAULT_CARRYOVER_PERCENTAGE } from './carryover.ts';
14
+ export type { MwlCarryover, MwlEndLevel, MwlSideRef } from './carryover.ts';
15
+ export { campaignChain } from './campaign.ts';
16
+ export type { MwlCampaignChain, MwlScenarioRunner } from './campaign.ts';
11
17
  export { contentCatalog } from './content.ts';
12
- export type { MwlCampaignDefinition } from './content.ts';
18
+ export type { MwlCampaignDefinition, MwlScenarioLink } from './content.ts';
13
19
  export type { MwlContentCatalog, MwlEffectDefinition, MwlAiDefinition, MwlBehaviorDefinition, MwlItemDefinition, MwlLootDefinition, MwlMonsterDefinition, MwlStatusDefinition, MwlTableDefinition, MwlTurnClockDefinition, } from './content.ts';
14
20
  export { evaluateExpression, parseExpression } from './expression.ts';
15
21
  export type { MwlExpression, MwlExpressionContext } from './expression.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"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"}
package/dist/mwl/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  export { MwlSyntaxError, isGettext, parse, parseValue, preprocess } from './grammar.js';
2
+ export { parseMapFile } from './MapFile.js';
2
3
  export { coerceTableValue, parseTableColumns, schema01, validate } from './schema.js';
3
4
  export { compile, compileAndEmitSources, compileNodes, compileSources, emitArtifacts, emitModule, extractCatalog, } from './compiler.js';
4
5
  export { collectHookReferences, emitHooksDeclaration, hookTypes, parseHookReference, validateHookReferences, } from './hooks.js';
5
- export { createWorld, execute, MwlRuntime, parseTerrain } from './runtime.js';
6
+ export { createWorld, execute, MwlRuntime, parseTerrain, sideVisionGroups } from './runtime.js';
7
+ export { carryoverIntoScenario, endLevelCarryover, MWL_DEFAULT_CARRYOVER_PERCENTAGE } from './carryover.js';
8
+ export { campaignChain } from './campaign.js';
6
9
  export { contentCatalog } from './content.js';
7
10
  export { evaluateExpression, parseExpression } from './expression.js';
8
11
  export { composeEffects, effectToModifier, inventoryItem, itemDefinition } from './actors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACN,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,GACd,MAAM,eAAe,CAAC;AAWvB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAY9E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mwl/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EACN,OAAO,EACP,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,GACd,MAAM,eAAe,CAAC;AAWvB,OAAO,EACN,qBAAqB,EACrB,oBAAoB,EACpB,SAAS,EACT,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,YAAY,CAAC;AAepB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYhG,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAE5G,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}