@maka/maka-cli 5.122.1 → 5.123.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/README.md +64 -64
  2. package/bundle/typescript/package.json +120 -120
  3. package/bundle/typescript/src/README.md +64 -64
  4. package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
  5. package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
  6. package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
  7. package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
  8. package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
  9. package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
  10. package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
  11. package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
  12. package/bundle/typescript/src/commands/build/build.js +16 -16
  13. package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
  14. package/bundle/typescript/src/commands/create.js +36 -36
  15. package/bundle/typescript/src/commands/debug.js +4 -4
  16. package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
  17. package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
  18. package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
  19. package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +14 -10
  20. package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js.map +1 -1
  21. package/bundle/typescript/src/commands/env/env.command.js +8 -8
  22. package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
  23. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +15 -0
  24. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +12 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
  26. package/bundle/typescript/src/commands/game/sideQuest/archetypes.d.ts +10 -0
  27. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +40 -14
  28. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  29. package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +33 -10
  30. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +155 -72
  31. package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js +15 -6
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/advance.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/ask.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/bluff.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +33 -33
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +1 -1
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +2 -2
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js +5 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/commands/grapple.js.map +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +6 -6
  47. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js +4 -4
  49. package/bundle/typescript/src/commands/game/sideQuest/commands/haggle.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js +1 -1
  51. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +20 -0
  53. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +9 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
  55. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js +7 -3
  56. package/bundle/typescript/src/commands/game/sideQuest/commands/lead.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +3 -3
  58. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js +1 -1
  60. package/bundle/typescript/src/commands/game/sideQuest/commands/persuade.js.map +1 -1
  61. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +3 -3
  62. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  63. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
  64. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +10 -10
  65. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  66. package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +7 -7
  67. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +1 -1
  68. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
  69. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +24 -0
  70. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +95 -0
  71. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +443 -443
  73. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
  74. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +45 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/game.js +120 -9
  76. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  77. package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +53 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +86 -0
  79. package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +214 -208
  81. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +215 -18
  83. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +548 -117
  84. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  85. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +9 -9
  86. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +2 -1
  87. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +3 -2
  88. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  89. package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +96 -4
  90. package/bundle/typescript/src/commands/game/sideQuest/qualities.js +290 -11
  91. package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
  92. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
  93. package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
  94. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.d.ts +11 -1
  95. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js +13 -1
  96. package/bundle/typescript/src/commands/game/sideQuest/skill-groups.js.map +1 -1
  97. package/bundle/typescript/src/commands/game/sideQuest/skills.d.ts +17 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/skills.js +23 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/skills.js.map +1 -0
  100. package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +76 -3
  101. package/bundle/typescript/src/commands/game/sideQuest/spells.js +48 -21
  102. package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
  103. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
  104. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +90 -82
  105. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +277 -10
  106. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
  107. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +121 -2
  108. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +342 -18
  109. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
  110. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.d.ts +65 -2
  111. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +74 -7
  112. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
  113. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +1 -1
  114. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  115. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.d.ts +248 -0
  116. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js +38 -0
  117. package/bundle/typescript/src/commands/game/sideQuest/utilities/effects.js.map +1 -0
  118. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
  119. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js +1 -2
  120. package/bundle/typescript/src/commands/game/sideQuest/utilities/first-aid.js.map +1 -1
  121. package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js +1 -2
  122. package/bundle/typescript/src/commands/game/sideQuest/utilities/perception.js.map +1 -1
  123. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +5 -0
  124. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  125. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +5 -1
  126. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  127. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js +22 -12
  128. package/bundle/typescript/src/commands/game/sideQuest/utilities/pregen-worksheet.js.map +1 -1
  129. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +1 -2
  130. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  131. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +1 -0
  132. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +20 -0
  133. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -1
  134. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
  135. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +33 -2
  136. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  137. package/bundle/typescript/src/commands/generate.js +2 -2
  138. package/bundle/typescript/src/commands/lint.js +10 -10
  139. package/bundle/typescript/src/commands/login.js +19 -1
  140. package/bundle/typescript/src/commands/login.js.map +1 -1
  141. package/bundle/typescript/src/commands/logout.js +16 -1
  142. package/bundle/typescript/src/commands/logout.js.map +1 -1
  143. package/bundle/typescript/src/commands/maka.cmd.js +26 -26
  144. package/bundle/typescript/src/commands/murder.js +14 -14
  145. package/bundle/typescript/src/commands/proxy.js +13 -13
  146. package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
  147. package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
  148. package/bundle/typescript/src/commands/run/run.command.js +24 -24
  149. package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
  150. package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
  151. package/bundle/typescript/src/commands/set/set.command.js +3 -3
  152. package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
  153. package/bundle/typescript/src/exec.js +0 -0
  154. package/bundle/typescript/src/generators/api.js +11 -11
  155. package/bundle/typescript/src/generators/collection.js +6 -6
  156. package/bundle/typescript/src/generators/hook.js +10 -10
  157. package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
  158. package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
  159. package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
  160. package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
  161. package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
  162. package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
  163. package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
  164. package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
  165. package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
  166. package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
  167. package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
  168. package/bundle/typescript/src/generators/services/translation.js +5 -5
  169. package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
  170. package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
  171. package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
  172. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
  173. package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
  174. package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
  175. package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
  176. package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
  177. package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
  178. package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
  179. package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
  180. package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
  181. package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
  182. package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
  183. package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
  184. package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
  185. package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
  186. package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
  187. package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
  188. package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
  189. package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
  190. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
  191. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
  192. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
  193. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
  194. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
  195. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
  196. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
  197. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
  198. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
  199. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
  200. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
  201. package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
  202. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
  203. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
  204. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
  205. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
  206. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
  207. package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
  208. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
  209. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
  210. package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
  211. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
  212. package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
  213. package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
  214. package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
  215. package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
  216. package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
  217. package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
  218. package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
  219. package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
  220. package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
  221. package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
  222. package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
  223. package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
  224. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
  225. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
  226. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
  227. package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
  228. package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
  229. package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
  230. package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
  231. package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
  232. package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
  233. package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
  234. package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
  235. package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
  236. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
  237. package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
  238. package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
  239. package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
  240. package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
  241. package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
  242. package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
  243. package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
  244. package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
  245. package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
  246. package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
  247. package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
  248. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
  249. package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
  250. package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
  251. package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
  252. package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
  253. package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
  254. package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
  255. package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
  256. package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
  257. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
  258. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
  259. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
  260. package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
  261. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
  262. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
  263. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
  264. package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
  265. package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
  266. package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
  267. package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
  268. package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
  269. package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
  270. package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
  271. package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
  272. package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
  273. package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
  274. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
  275. package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
  276. package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
  277. package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
  278. package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
  279. package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
  280. package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
  281. package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
  282. package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
  283. package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
  284. package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
  285. package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
  286. package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
  287. package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
  288. package/bundle/typescript/src/templates/react/component/component.css +6 -6
  289. package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
  290. package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
  291. package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
  292. package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
  293. package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
  294. package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
  295. package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
  296. package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
  297. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
  298. package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
  299. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
  300. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
  301. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
  302. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
  303. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
  304. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
  305. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
  306. package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
  307. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
  308. package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
  309. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
  310. package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
  311. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
  312. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
  313. package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
  314. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
  315. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
  316. package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
  317. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
  318. package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
  319. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
  320. package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
  321. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
  322. package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
  323. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
  324. package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
  325. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
  326. package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
  327. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
  328. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
  329. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
  330. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
  331. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
  332. package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
  333. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
  334. package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
  335. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
  336. package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
  337. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
  338. package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
  339. package/bundle/typescript/src/templates/react/route/route.js +8 -8
  340. package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
  341. package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
  342. package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
  343. package/bundle/typescript/src/templates/react/test/test.js +1 -1
  344. package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
  345. package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
  346. package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
  347. package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
  348. package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
  349. package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
  350. package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
  351. package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
  352. package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
  353. package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
  354. package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
  355. package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
  356. package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
  357. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.d.ts +59 -0
  358. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js +120 -0
  359. package/bundle/typescript/src/tools/guarded-file/guarded-file.class.js.map +1 -0
  360. package/bundle/typescript/src/tools/mpi/mpi.class.d.ts +16 -0
  361. package/bundle/typescript/src/tools/mpi/mpi.class.js +25 -7
  362. package/bundle/typescript/src/tools/mpi/mpi.class.js.map +1 -1
  363. package/bundle/typescript/src/tools/mpi/sdk-runtime.d.ts +1 -0
  364. package/bundle/typescript/src/tools/mpi/sdk-runtime.js +29 -0
  365. package/bundle/typescript/src/tools/mpi/sdk-runtime.js.map +1 -1
  366. package/package.json +120 -120
@@ -1,556 +1,556 @@
1
- {
2
- "name": "Seattle Underground",
3
- "story": "A quick job in the Redmond Barrens: Mr. Krow is sitting on a datachip that keys the Lucky Chummer casino, and every kind of runner has an angle on getting it -- muscle, magic, wires, or words.",
4
- "residenceTiers": [
5
- "Street",
6
- "Squatter",
7
- "Low",
8
- "Middle",
9
- "High",
10
- "Luxury"
11
- ],
12
- "currency": {
13
- "type": "nuyen",
14
- "authorityRoomTags": [
15
- "Bank"
16
- ]
17
- },
18
- "player": {
19
- "name": "Maka",
20
- "startLocation": "Barrens Apartment",
21
- "lifestyleChoices": [
22
- {
23
- "type": "residence",
24
- "metadata": {
25
- "tier": "Street",
26
- "location": "Barrens Apartment"
27
- }
28
- }
29
- ],
30
- "startingItems": [
31
- {
32
- "name": "Ares Light Fire 70",
33
- "description": "A small, concealable light pistol favored by shadowrunners on a budget.",
34
- "size": "Small",
35
- "category": "RangedWeapon",
36
- "shape": "Pistol",
37
- "color": "Black",
38
- "texture": "Matte",
39
- "rating": "Common",
40
- "weight": 1.2
41
- },
42
- {
43
- "name": "Armor Jacket",
44
- "description": "A rugged armored jacket with built-in smartweave. Offers decent protection without looking too suspicious.",
45
- "size": "Large",
46
- "category": "Armor",
47
- "shape": "Jacket",
48
- "color": "Dark Green",
49
- "texture": "Kevlar",
50
- "rating": "Standard",
51
- "weight": 3.5
52
- },
53
- {
54
- "name": "Meta Link",
55
- "description": "A cheap but functional commlink. You hope it doesn't get hacked.",
56
- "size": "Tiny",
57
- "category": "Commlink",
58
- "shape": "Rectangle",
59
- "color": "Gray",
60
- "texture": "Plastic",
61
- "rating": "Common",
62
- "weight": 0.1
63
- },
64
- {
65
- "name": "Starter Credstick",
66
- "description": "A basic credstick loaded with some nuyen for expenses.",
67
- "size": "Small",
68
- "category": "Credstick",
69
- "shape": "Cylinder",
70
- "color": "Silver",
71
- "texture": "Smooth",
72
- "rating": "Common",
73
- "weight": 0.2,
74
- "currencyAmount": 250
75
- },
76
- {
77
- "name": "Urban Explorer Boots",
78
- "description": "Sturdy street boots with impact gel soles and reinforced toes.",
79
- "size": "Medium",
80
- "category": "Boots",
81
- "shape": "Boots",
82
- "color": "Black",
83
- "texture": "Rugged",
84
- "rating": "Common",
85
- "weight": 2.0
86
- },
87
- {
88
- "name": "Glasses (Capacity 3)",
89
- "description": "Ordinary frames with room for three enhancements. Nobody looks twice.",
90
- "size": "Tiny",
91
- "category": "Glasses",
92
- "shape": "Glasses",
93
- "color": "Black",
94
- "texture": "Plastic",
95
- "rating": "Common",
96
- "weight": 0.1
97
- }
98
- ]
99
- },
100
- "rooms": [
101
- {
102
- "name": "Barrens Apartment",
103
- "description": "A grimy studio in the heart of the Redmond Barrens. The synth-leather couch sags by the window, the door barely locks, and a dead mage's bookshelf still holds a few things worth having.",
104
- "tags": [
105
- "residence"
106
- ],
107
- "size": "small",
108
- "spots": [
109
- {
110
- "name": "door"
111
- },
112
- {
113
- "name": "couch"
114
- },
115
- {
116
- "name": "bookshelf"
117
- }
118
- ],
119
- "supportedLifestyles": {
120
- "residenceTypes": [
121
- "Street",
122
- "Squatter"
123
- ]
124
- },
125
- "exits": [
126
- {
127
- "direction": "north",
128
- "targetRoom": "Redmond Safehouse"
129
- }
130
- ],
131
- "isStartRoom": true
132
- },
133
- {
134
- "name": "Redmond Safehouse",
135
- "description": "A hidden bolthole where four tunnels meet at a scraped-clear entryway -- gear cache on one wall, a card sharp's abandoned bunk on the other. Every direction out of here leads somewhere that will test a different part of you.",
136
- "tags": [
137
- "residence"
138
- ],
139
- "size": "medium",
140
- "spots": [
141
- {
142
- "name": "entryway"
143
- },
144
- {
145
- "name": "gear cache"
146
- },
147
- {
148
- "name": "bunk"
149
- }
150
- ],
151
- "supportedLifestyles": {
152
- "residenceTypes": [
153
- "Low"
154
- ]
155
- },
156
- "exits": [
157
- {
158
- "direction": "south",
159
- "targetRoom": "Barrens Apartment"
160
- },
161
- {
162
- "direction": "north",
163
- "targetRoom": "Krow's Den"
164
- },
165
- {
166
- "direction": "east",
167
- "targetRoom": "Grid Vault"
168
- },
169
- {
170
- "direction": "west",
171
- "targetRoom": "Chapel Alcove"
172
- }
173
- ]
174
- },
175
- {
176
- "name": "Krow's Den",
177
- "description": "The fixer's office. Smells like cigars and secrets. Mr. Krow watches the door from behind a scarred steel desk, one hand always below the desktop.",
178
- "owner": "Mr. Krow",
179
- "size": "small",
180
- "spots": [
181
- {
182
- "name": "door"
183
- },
184
- {
185
- "name": "desk"
186
- }
187
- ],
188
- "supportedLifestyles": {
189
- "employmentRoles": [
190
- "Fixer"
191
- ]
192
- },
193
- "exits": [
194
- {
195
- "direction": "east",
196
- "targetRoom": "Lucky Chummer",
197
- "keyRequired": "Krow's Datachip"
198
- }
199
- ]
200
- },
201
- {
202
- "name": "Lucky Chummer",
203
- "description": "A neon casino buzzing with illicit energy. Cards snap at the tables, chips clatter down the bar rail, and a frayed cord hangs across the disused stair at the back.",
204
- "size": "large",
205
- "spots": [
206
- {
207
- "name": "entrance"
208
- },
209
- {
210
- "name": "card tables"
211
- },
212
- {
213
- "name": "bar rail"
214
- },
215
- {
216
- "name": "roped stair"
217
- }
218
- ],
219
- "supportedLifestyles": {
220
- "habitTags": [
221
- "Gambling"
222
- ]
223
- }
224
- },
225
- {
226
- "name": "Grid Vault",
227
- "description": "A humming server room jury-rigged into the Barrens power grid. The room's host stands over it on the grid, heavy and lit; the racks it guards are another matter -- matte-black, no antenna in sight, and whatever lives in THEM doesn't talk to the wireless world.",
228
- "hasNode": true,
229
- "hostRating": 9,
230
- "nodeAccess": "wired",
231
- "size": "small",
232
- "spots": [
233
- {
234
- "name": "door"
235
- },
236
- {
237
- "name": "server racks",
238
- "tags": [
239
- "cover-partial"
240
- ]
241
- }
242
- ]
243
- },
244
- {
245
- "name": "Chapel Alcove",
246
- "description": "A burned-out chapel annex: past the threshold, a scorched shrine still ringed by chalk sigils that never quite wash out. The air hums against the back of your teeth.",
247
- "warded": true,
248
- "size": "small",
249
- "spots": [
250
- {
251
- "name": "threshold"
252
- },
253
- {
254
- "name": "shrine"
255
- }
256
- ]
257
- }
258
- ],
259
- "npcs": [
260
- {
261
- "description": "Mr. Krow is a territorial fixer -- dangerous if attacked, and he will chase stolen property, but he respects nerve: a good pitch, a real payment, or an honest win at his own table can all move him. He is guarding the datachip that keys the Lucky Chummer.",
262
- "dialogue": [
263
- "I've got what you need -- if you can pay, or if you can impress me.",
264
- "The chip stays with me until somebody gives me a reason.",
265
- "The shadows don't lie, chummer."
266
- ],
267
- "player": {
268
- "name": "Mr. Krow",
269
- "startLocation": "Krow's Den",
270
- "startSpot": "desk",
271
- "lifestyleChoices": [
272
- {
273
- "type": "employment",
274
- "metadata": {
275
- "jobTitle": "Fixer"
276
- }
277
- }
278
- ],
279
- "combat": {
280
- "body": 5,
281
- "agility": 5,
282
- "reaction": 4,
283
- "combatSkill": 4,
284
- "strength": 4,
285
- "willpower": 3,
286
- "logic": 3,
287
- "intuition": 3,
288
- "charisma": 3,
289
- "skills": {
290
- "automatics": 5, "pistols": 5, "longarms": 5,
291
- "unarmed": 4,
292
- "perception": 3,
293
- "negotiation": 3,
294
- "intimidation": 4
295
- }
296
- }
297
- }
298
- },
299
- {
300
- "description": "Salli Vex tends bar at the Lucky Chummer and hears everything. She won't cross Krow for free, but she likes a good talker and knows who owes the house, how Krow plays his own table, and what really sits in the Grid Vault.",
301
- "dialogue": [
302
- "First drink's watered down. So is the second.",
303
- "Krow keeps his door open. Doesn't mean you're invited through it.",
304
- "Everything in this place is rigged, sugar. Including me."
305
- ],
306
- "player": {
307
- "name": "Salli Vex",
308
- "startLocation": "Lucky Chummer",
309
- "startSpot": "bar rail",
310
- "lifestyleChoices": [],
311
- "combat": {
312
- "body": 3,
313
- "agility": 3,
314
- "reaction": 3,
315
- "combatSkill": 2,
316
- "charisma": 5,
317
- "intuition": 4,
318
- "skills": {
319
- "negotiation": 4,
320
- "con": 4,
321
- "perception": 4
322
- }
323
- }
324
- }
325
- },
326
- {
327
- "plane": "matrix",
328
- "description": "Static Howler is the Grid Vault's custom ice: a shrieking countermeasure that treats every persona in its host as prey. It cannot leave the host and cannot be reasoned with.",
329
- "dialogue": [
330
- "UNREGISTERED PERSONA. PURGE CYCLE INITIATED.",
331
- "static. static. STATIC."
332
- ],
333
- "player": {
334
- "name": "Static Howler",
335
- "startLocation": "Grid Vault",
336
- "lifestyleChoices": [],
337
- "combat": {
338
- "body": 3,
339
- "agility": 3,
340
- "reaction": 4,
341
- "combatSkill": 4,
342
- "willpower": 4,
343
- "logic": 5,
344
- "intuition": 4
345
- }
346
- }
347
- },
348
- {
349
- "plane": "astral",
350
- "description": "The Ash Sister is a mournful fire spirit bound to the burned chapel. She speaks in embers to anyone who can reach the astral, trades riddles for company, and burns anything that threatens her altar.",
351
- "dialogue": [
352
- "You walk in two worlds. Sit. The living so rarely visit.",
353
- "The ward was mine before the fire. It will be mine after you.",
354
- "Ash remembers everything it used to be."
355
- ],
356
- "player": {
357
- "name": "Ash Sister",
358
- "startLocation": "Chapel Alcove",
359
- "startSpot": "shrine",
360
- "lifestyleChoices": [],
361
- "combat": {
362
- "body": 4,
363
- "agility": 3,
364
- "reaction": 4,
365
- "combatSkill": 3,
366
- "willpower": 5,
367
- "intuition": 4,
368
- "magic": 5
369
- }
370
- }
371
- }
372
- ],
373
- "items": [
374
- {
375
- "name": "Krow's Datachip",
376
- "description": "An encrypted datachip that grants access to the Lucky Chummer. Its casing is etched with the Krow Industries logo.",
377
- "size": "Tiny",
378
- "category": "Key",
379
- "shape": "Square",
380
- "color": "Black",
381
- "texture": "Glossy",
382
- "rating": "Common",
383
- "weight": 0.05,
384
- "heldBy": "Mr. Krow",
385
- "owner": "Mr. Krow"
386
- },
387
- {
388
- "name": "Certified Credstick",
389
- "description": "Black-market certified nuyen chip.",
390
- "size": "Small",
391
- "category": "CurrencyContainer",
392
- "shape": "Rectangle",
393
- "color": "Silver",
394
- "texture": "Smooth",
395
- "rating": "Standard",
396
- "weight": 0.2,
397
- "currencyAmount": 500,
398
- "room": "Krow's Den",
399
- "atSpot": "desk",
400
- "owner": "Mr. Krow"
401
- },
402
- {
403
- "name": "Ares Light Fire 70",
404
- "description": "A small, concealable light pistol favored by shadowrunners on a budget.",
405
- "size": "Small",
406
- "category": "RangedWeapon",
407
- "shape": "Pistol",
408
- "color": "Black",
409
- "texture": "Matte",
410
- "rating": "Common",
411
- "weight": 1.2,
412
- "heldBy": "Mr. Krow",
413
- "owner": "Mr. Krow",
414
- "transferable": false
415
- },
416
- {
417
- "name": "Armor Jacket",
418
- "description": "A rugged armored jacket with built-in smartweave.",
419
- "size": "Large",
420
- "category": "Armor",
421
- "shape": "Jacket",
422
- "color": "Dark Green",
423
- "texture": "Kevlar",
424
- "rating": "Standard",
425
- "weight": 3.5,
426
- "heldBy": "Mr. Krow",
427
- "owner": "Mr. Krow",
428
- "transferable": false
429
- },
430
- {
431
- "name": "Battered Grimoire",
432
- "description": "A water-stained spellbook, its margins crowded with a dead mage's handwriting. The formulas for Manabolt, Heal, and Armor are still legible.",
433
- "details": "The legible formulas: Manabolt (hurl raw mana at a target -- armor won't save them), Heal (knit your own wounds closed), Armor (a sustained protective weave). Every casting exacts drain from the caster.",
434
- "size": "Small",
435
- "category": "Grimoire",
436
- "shape": "Book",
437
- "color": "Faded Black",
438
- "texture": "Water-Stained Leather",
439
- "rating": "Common",
440
- "weight": 1.5,
441
- "room": "Barrens Apartment",
442
- "atSpot": "bookshelf"
443
- },
444
- {
445
- "name": "Jade Focus",
446
- "description": "A worn jade pendant on a leather cord. It hums faintly against the skin, hungry to channel something.",
447
- "size": "Tiny",
448
- "category": "Focus",
449
- "shape": "Pendant",
450
- "color": "Jade Green",
451
- "texture": "Polished Stone",
452
- "rating": "Standard",
453
- "weight": 0.1,
454
- "room": "Barrens Apartment",
455
- "atSpot": "bookshelf"
456
- },
457
- {
458
- "name": "Street Doc's Medkit",
459
- "description": "A scuffed hard-shell first aid kit, restocked by someone who knows what gunshot wounds actually need.",
460
- "size": "Small",
461
- "category": "Medical",
462
- "shape": "Rectangle",
463
- "color": "White",
464
- "texture": "Scuffed",
465
- "rating": "Standard",
466
- "weight": 1,
467
- "room": "Barrens Apartment",
468
- "atSpot": "bookshelf"
469
- },
470
- {
471
- "name": "Spare Clip",
472
- "description": "A boxy magazine of 10 rounds, factory-wrapped. Fits most street-caliber sidearms.",
473
- "size": "Tiny",
474
- "category": "Ammunition",
475
- "shape": "Rectangle",
476
- "color": "Gunmetal",
477
- "texture": "Oiled Steel",
478
- "rating": "Common",
479
- "weight": 0.3,
480
- "room": "Redmond Safehouse",
481
- "atSpot": "gear cache"
482
- },
483
- {
484
- "name": "Kamikaze Stim Patch",
485
- "description": "A dermal patch in crinkled foil, the chem cocktail inside promising clarity now and a bill later.",
486
- "size": "Tiny",
487
- "category": "StimPatch",
488
- "shape": "Square",
489
- "color": "Warning Orange",
490
- "texture": "Foil",
491
- "rating": "Standard",
492
- "weight": 0.05,
493
- "room": "Redmond Safehouse",
494
- "atSpot": "gear cache"
495
- },
496
- {
497
- "name": "Rusty Machete",
498
- "description": "A working blade with an honest edge under the rust. It has opened doors, crates, and arguments.",
499
- "size": "Medium",
500
- "category": "MeleeWeapon",
501
- "shape": "Blade",
502
- "color": "Rust Brown",
503
- "texture": "Pitted Steel",
504
- "rating": "Common",
505
- "weight": 1.8,
506
- "room": "Redmond Safehouse",
507
- "atSpot": "gear cache"
508
- },
509
- {
510
- "name": "Cuban Cigar",
511
- "description": "Hard to find, but delicious.",
512
- "size": "Tiny",
513
- "category": "Vice",
514
- "shape": "Rectangle",
515
- "color": "Brown",
516
- "texture": "Smooth",
517
- "rating": "Rare",
518
- "weight": 0.1,
519
- "room": "Lucky Chummer",
520
- "atSpot": "bar rail"
521
- },
522
- {
523
- "name": "Casino Ledger Paydata",
524
- "description": "The Lucky Chummer's real books -- every skimmed percentage and bribed inspector, flickering in green digital static.",
525
- "details": "Decrypted, this ledger would end careers. Certain people would pay heavily for it -- or to make it disappear.",
526
- "size": "Tiny",
527
- "category": "Datachip",
528
- "shape": "Virtual Folder",
529
- "color": "Flickering Green",
530
- "texture": "Digital Static",
531
- "rating": "Rare",
532
- "weight": 0,
533
- "plane": "matrix",
534
- "room": "Grid Vault"
535
- },
536
- {
537
- "name": "Spirit-Touched Talisman",
538
- "description": "A fused knot of chapel glass and ash that never quite cools. Something of the Ash Sister lingers in it.",
539
- "size": "Tiny",
540
- "category": "Focus",
541
- "shape": "Talisman",
542
- "color": "Ember Orange",
543
- "texture": "Fused Glass",
544
- "rating": "Rare",
545
- "weight": 0.2,
546
- "room": "Chapel Alcove",
547
- "atSpot": "shrine"
548
- }
549
- ],
550
- "puzzles": [],
551
- "winCondition": {
552
- "type": "possess",
553
- "item": "Krow's Datachip",
554
- "completionMessage": "The datachip is yours. Krow's grip on the Lucky Chummer just loosened -- whatever you do with it next, chummer, it's your move now."
555
- }
556
- }
1
+ {
2
+ "name": "Seattle Underground",
3
+ "story": "A quick job in the Redmond Barrens: Mr. Krow is sitting on a datachip that keys the Lucky Chummer casino, and every kind of runner has an angle on getting it -- muscle, magic, wires, or words.",
4
+ "residenceTiers": [
5
+ "Street",
6
+ "Squatter",
7
+ "Low",
8
+ "Middle",
9
+ "High",
10
+ "Luxury"
11
+ ],
12
+ "currency": {
13
+ "type": "nuyen",
14
+ "authorityRoomTags": [
15
+ "Bank"
16
+ ]
17
+ },
18
+ "player": {
19
+ "name": "Maka",
20
+ "startLocation": "Barrens Apartment",
21
+ "lifestyleChoices": [
22
+ {
23
+ "type": "residence",
24
+ "metadata": {
25
+ "tier": "Street",
26
+ "location": "Barrens Apartment"
27
+ }
28
+ }
29
+ ],
30
+ "startingItems": [
31
+ {
32
+ "name": "Ares Light Fire 70",
33
+ "description": "A small, concealable light pistol favored by shadowrunners on a budget.",
34
+ "size": "Small",
35
+ "category": "RangedWeapon",
36
+ "shape": "Pistol",
37
+ "color": "Black",
38
+ "texture": "Matte",
39
+ "rating": "Common",
40
+ "weight": 1.2
41
+ },
42
+ {
43
+ "name": "Armor Jacket",
44
+ "description": "A rugged armored jacket with built-in smartweave. Offers decent protection without looking too suspicious.",
45
+ "size": "Large",
46
+ "category": "Armor",
47
+ "shape": "Jacket",
48
+ "color": "Dark Green",
49
+ "texture": "Kevlar",
50
+ "rating": "Standard",
51
+ "weight": 3.5
52
+ },
53
+ {
54
+ "name": "Meta Link",
55
+ "description": "A cheap but functional commlink. You hope it doesn't get hacked.",
56
+ "size": "Tiny",
57
+ "category": "Commlink",
58
+ "shape": "Rectangle",
59
+ "color": "Gray",
60
+ "texture": "Plastic",
61
+ "rating": "Common",
62
+ "weight": 0.1
63
+ },
64
+ {
65
+ "name": "Starter Credstick",
66
+ "description": "A basic credstick loaded with some nuyen for expenses.",
67
+ "size": "Small",
68
+ "category": "Credstick",
69
+ "shape": "Cylinder",
70
+ "color": "Silver",
71
+ "texture": "Smooth",
72
+ "rating": "Common",
73
+ "weight": 0.2,
74
+ "currencyAmount": 250
75
+ },
76
+ {
77
+ "name": "Urban Explorer Boots",
78
+ "description": "Sturdy street boots with impact gel soles and reinforced toes.",
79
+ "size": "Medium",
80
+ "category": "Boots",
81
+ "shape": "Boots",
82
+ "color": "Black",
83
+ "texture": "Rugged",
84
+ "rating": "Common",
85
+ "weight": 2.0
86
+ },
87
+ {
88
+ "name": "Glasses (Capacity 3)",
89
+ "description": "Ordinary frames with room for three enhancements. Nobody looks twice.",
90
+ "size": "Tiny",
91
+ "category": "Glasses",
92
+ "shape": "Glasses",
93
+ "color": "Black",
94
+ "texture": "Plastic",
95
+ "rating": "Common",
96
+ "weight": 0.1
97
+ }
98
+ ]
99
+ },
100
+ "rooms": [
101
+ {
102
+ "name": "Barrens Apartment",
103
+ "description": "A grimy studio in the heart of the Redmond Barrens. The synth-leather couch sags by the window, the door barely locks, and a dead mage's bookshelf still holds a few things worth having.",
104
+ "tags": [
105
+ "residence"
106
+ ],
107
+ "size": "small",
108
+ "spots": [
109
+ {
110
+ "name": "door"
111
+ },
112
+ {
113
+ "name": "couch"
114
+ },
115
+ {
116
+ "name": "bookshelf"
117
+ }
118
+ ],
119
+ "supportedLifestyles": {
120
+ "residenceTypes": [
121
+ "Street",
122
+ "Squatter"
123
+ ]
124
+ },
125
+ "exits": [
126
+ {
127
+ "direction": "north",
128
+ "targetRoom": "Redmond Safehouse"
129
+ }
130
+ ],
131
+ "isStartRoom": true
132
+ },
133
+ {
134
+ "name": "Redmond Safehouse",
135
+ "description": "A hidden bolthole where four tunnels meet at a scraped-clear entryway -- gear cache on one wall, a card sharp's abandoned bunk on the other. Every direction out of here leads somewhere that will test a different part of you.",
136
+ "tags": [
137
+ "residence"
138
+ ],
139
+ "size": "medium",
140
+ "spots": [
141
+ {
142
+ "name": "entryway"
143
+ },
144
+ {
145
+ "name": "gear cache"
146
+ },
147
+ {
148
+ "name": "bunk"
149
+ }
150
+ ],
151
+ "supportedLifestyles": {
152
+ "residenceTypes": [
153
+ "Low"
154
+ ]
155
+ },
156
+ "exits": [
157
+ {
158
+ "direction": "south",
159
+ "targetRoom": "Barrens Apartment"
160
+ },
161
+ {
162
+ "direction": "north",
163
+ "targetRoom": "Krow's Den"
164
+ },
165
+ {
166
+ "direction": "east",
167
+ "targetRoom": "Grid Vault"
168
+ },
169
+ {
170
+ "direction": "west",
171
+ "targetRoom": "Chapel Alcove"
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "name": "Krow's Den",
177
+ "description": "The fixer's office. Smells like cigars and secrets. Mr. Krow watches the door from behind a scarred steel desk, one hand always below the desktop.",
178
+ "owner": "Mr. Krow",
179
+ "size": "small",
180
+ "spots": [
181
+ {
182
+ "name": "door"
183
+ },
184
+ {
185
+ "name": "desk"
186
+ }
187
+ ],
188
+ "supportedLifestyles": {
189
+ "employmentRoles": [
190
+ "Fixer"
191
+ ]
192
+ },
193
+ "exits": [
194
+ {
195
+ "direction": "east",
196
+ "targetRoom": "Lucky Chummer",
197
+ "keyRequired": "Krow's Datachip"
198
+ }
199
+ ]
200
+ },
201
+ {
202
+ "name": "Lucky Chummer",
203
+ "description": "A neon casino buzzing with illicit energy. Cards snap at the tables, chips clatter down the bar rail, and a frayed cord hangs across the disused stair at the back.",
204
+ "size": "large",
205
+ "spots": [
206
+ {
207
+ "name": "entrance"
208
+ },
209
+ {
210
+ "name": "card tables"
211
+ },
212
+ {
213
+ "name": "bar rail"
214
+ },
215
+ {
216
+ "name": "roped stair"
217
+ }
218
+ ],
219
+ "supportedLifestyles": {
220
+ "habitTags": [
221
+ "Gambling"
222
+ ]
223
+ }
224
+ },
225
+ {
226
+ "name": "Grid Vault",
227
+ "description": "A humming server room jury-rigged into the Barrens power grid. The room's host stands over it on the grid, heavy and lit; the racks it guards are another matter -- matte-black, no antenna in sight, and whatever lives in THEM doesn't talk to the wireless world.",
228
+ "hasNode": true,
229
+ "hostRating": 9,
230
+ "nodeAccess": "wired",
231
+ "size": "small",
232
+ "spots": [
233
+ {
234
+ "name": "door"
235
+ },
236
+ {
237
+ "name": "server racks",
238
+ "tags": [
239
+ "cover-partial"
240
+ ]
241
+ }
242
+ ]
243
+ },
244
+ {
245
+ "name": "Chapel Alcove",
246
+ "description": "A burned-out chapel annex: past the threshold, a scorched shrine still ringed by chalk sigils that never quite wash out. The air hums against the back of your teeth.",
247
+ "warded": true,
248
+ "size": "small",
249
+ "spots": [
250
+ {
251
+ "name": "threshold"
252
+ },
253
+ {
254
+ "name": "shrine"
255
+ }
256
+ ]
257
+ }
258
+ ],
259
+ "npcs": [
260
+ {
261
+ "description": "Mr. Krow is a territorial fixer -- dangerous if attacked, and he will chase stolen property, but he respects nerve: a good pitch, a real payment, or an honest win at his own table can all move him. He is guarding the datachip that keys the Lucky Chummer.",
262
+ "dialogue": [
263
+ "I've got what you need -- if you can pay, or if you can impress me.",
264
+ "The chip stays with me until somebody gives me a reason.",
265
+ "The shadows don't lie, chummer."
266
+ ],
267
+ "player": {
268
+ "name": "Mr. Krow",
269
+ "startLocation": "Krow's Den",
270
+ "startSpot": "desk",
271
+ "lifestyleChoices": [
272
+ {
273
+ "type": "employment",
274
+ "metadata": {
275
+ "jobTitle": "Fixer"
276
+ }
277
+ }
278
+ ],
279
+ "combat": {
280
+ "body": 5,
281
+ "agility": 5,
282
+ "reaction": 4,
283
+ "combatSkill": 4,
284
+ "strength": 4,
285
+ "willpower": 3,
286
+ "logic": 3,
287
+ "intuition": 3,
288
+ "charisma": 3,
289
+ "skills": {
290
+ "automatics": 5, "pistols": 5, "longarms": 5,
291
+ "unarmed": 4,
292
+ "perception": 3,
293
+ "negotiation": 3,
294
+ "intimidation": 4
295
+ }
296
+ }
297
+ }
298
+ },
299
+ {
300
+ "description": "Salli Vex tends bar at the Lucky Chummer and hears everything. She won't cross Krow for free, but she likes a good talker and knows who owes the house, how Krow plays his own table, and what really sits in the Grid Vault.",
301
+ "dialogue": [
302
+ "First drink's watered down. So is the second.",
303
+ "Krow keeps his door open. Doesn't mean you're invited through it.",
304
+ "Everything in this place is rigged, sugar. Including me."
305
+ ],
306
+ "player": {
307
+ "name": "Salli Vex",
308
+ "startLocation": "Lucky Chummer",
309
+ "startSpot": "bar rail",
310
+ "lifestyleChoices": [],
311
+ "combat": {
312
+ "body": 3,
313
+ "agility": 3,
314
+ "reaction": 3,
315
+ "combatSkill": 2,
316
+ "charisma": 5,
317
+ "intuition": 4,
318
+ "skills": {
319
+ "negotiation": 4,
320
+ "con": 4,
321
+ "perception": 4
322
+ }
323
+ }
324
+ }
325
+ },
326
+ {
327
+ "plane": "matrix",
328
+ "description": "Static Howler is the Grid Vault's custom ice: a shrieking countermeasure that treats every persona in its host as prey. It cannot leave the host and cannot be reasoned with.",
329
+ "dialogue": [
330
+ "UNREGISTERED PERSONA. PURGE CYCLE INITIATED.",
331
+ "static. static. STATIC."
332
+ ],
333
+ "player": {
334
+ "name": "Static Howler",
335
+ "startLocation": "Grid Vault",
336
+ "lifestyleChoices": [],
337
+ "combat": {
338
+ "body": 3,
339
+ "agility": 3,
340
+ "reaction": 4,
341
+ "combatSkill": 4,
342
+ "willpower": 4,
343
+ "logic": 5,
344
+ "intuition": 4
345
+ }
346
+ }
347
+ },
348
+ {
349
+ "plane": "astral",
350
+ "description": "The Ash Sister is a mournful fire spirit bound to the burned chapel. She speaks in embers to anyone who can reach the astral, trades riddles for company, and burns anything that threatens her altar.",
351
+ "dialogue": [
352
+ "You walk in two worlds. Sit. The living so rarely visit.",
353
+ "The ward was mine before the fire. It will be mine after you.",
354
+ "Ash remembers everything it used to be."
355
+ ],
356
+ "player": {
357
+ "name": "Ash Sister",
358
+ "startLocation": "Chapel Alcove",
359
+ "startSpot": "shrine",
360
+ "lifestyleChoices": [],
361
+ "combat": {
362
+ "body": 4,
363
+ "agility": 3,
364
+ "reaction": 4,
365
+ "combatSkill": 3,
366
+ "willpower": 5,
367
+ "intuition": 4,
368
+ "magic": 5
369
+ }
370
+ }
371
+ }
372
+ ],
373
+ "items": [
374
+ {
375
+ "name": "Krow's Datachip",
376
+ "description": "An encrypted datachip that grants access to the Lucky Chummer. Its casing is etched with the Krow Industries logo.",
377
+ "size": "Tiny",
378
+ "category": "Key",
379
+ "shape": "Square",
380
+ "color": "Black",
381
+ "texture": "Glossy",
382
+ "rating": "Common",
383
+ "weight": 0.05,
384
+ "heldBy": "Mr. Krow",
385
+ "owner": "Mr. Krow"
386
+ },
387
+ {
388
+ "name": "Certified Credstick",
389
+ "description": "Black-market certified nuyen chip.",
390
+ "size": "Small",
391
+ "category": "CurrencyContainer",
392
+ "shape": "Rectangle",
393
+ "color": "Silver",
394
+ "texture": "Smooth",
395
+ "rating": "Standard",
396
+ "weight": 0.2,
397
+ "currencyAmount": 500,
398
+ "room": "Krow's Den",
399
+ "atSpot": "desk",
400
+ "owner": "Mr. Krow"
401
+ },
402
+ {
403
+ "name": "Ares Light Fire 70",
404
+ "description": "A small, concealable light pistol favored by shadowrunners on a budget.",
405
+ "size": "Small",
406
+ "category": "RangedWeapon",
407
+ "shape": "Pistol",
408
+ "color": "Black",
409
+ "texture": "Matte",
410
+ "rating": "Common",
411
+ "weight": 1.2,
412
+ "heldBy": "Mr. Krow",
413
+ "owner": "Mr. Krow",
414
+ "transferable": false
415
+ },
416
+ {
417
+ "name": "Armor Jacket",
418
+ "description": "A rugged armored jacket with built-in smartweave.",
419
+ "size": "Large",
420
+ "category": "Armor",
421
+ "shape": "Jacket",
422
+ "color": "Dark Green",
423
+ "texture": "Kevlar",
424
+ "rating": "Standard",
425
+ "weight": 3.5,
426
+ "heldBy": "Mr. Krow",
427
+ "owner": "Mr. Krow",
428
+ "transferable": false
429
+ },
430
+ {
431
+ "name": "Battered Grimoire",
432
+ "description": "A water-stained spellbook, its margins crowded with a dead mage's handwriting. The formulas for Manabolt, Heal, and Armor are still legible.",
433
+ "details": "The legible formulas: Manabolt (hurl raw mana at a target -- armor won't save them), Heal (knit your own wounds closed), Armor (a sustained protective weave). Every casting exacts drain from the caster.",
434
+ "size": "Small",
435
+ "category": "Grimoire",
436
+ "shape": "Book",
437
+ "color": "Faded Black",
438
+ "texture": "Water-Stained Leather",
439
+ "rating": "Common",
440
+ "weight": 1.5,
441
+ "room": "Barrens Apartment",
442
+ "atSpot": "bookshelf"
443
+ },
444
+ {
445
+ "name": "Jade Focus",
446
+ "description": "A worn jade pendant on a leather cord. It hums faintly against the skin, hungry to channel something.",
447
+ "size": "Tiny",
448
+ "category": "Focus",
449
+ "shape": "Pendant",
450
+ "color": "Jade Green",
451
+ "texture": "Polished Stone",
452
+ "rating": "Standard",
453
+ "weight": 0.1,
454
+ "room": "Barrens Apartment",
455
+ "atSpot": "bookshelf"
456
+ },
457
+ {
458
+ "name": "Street Doc's Medkit",
459
+ "description": "A scuffed hard-shell first aid kit, restocked by someone who knows what gunshot wounds actually need.",
460
+ "size": "Small",
461
+ "category": "Medical",
462
+ "shape": "Rectangle",
463
+ "color": "White",
464
+ "texture": "Scuffed",
465
+ "rating": "Standard",
466
+ "weight": 1,
467
+ "room": "Barrens Apartment",
468
+ "atSpot": "bookshelf"
469
+ },
470
+ {
471
+ "name": "Spare Clip",
472
+ "description": "A boxy magazine of 10 rounds, factory-wrapped. Fits most street-caliber sidearms.",
473
+ "size": "Tiny",
474
+ "category": "Ammunition",
475
+ "shape": "Rectangle",
476
+ "color": "Gunmetal",
477
+ "texture": "Oiled Steel",
478
+ "rating": "Common",
479
+ "weight": 0.3,
480
+ "room": "Redmond Safehouse",
481
+ "atSpot": "gear cache"
482
+ },
483
+ {
484
+ "name": "Kamikaze Stim Patch",
485
+ "description": "A dermal patch in crinkled foil, the chem cocktail inside promising clarity now and a bill later.",
486
+ "size": "Tiny",
487
+ "category": "StimPatch",
488
+ "shape": "Square",
489
+ "color": "Warning Orange",
490
+ "texture": "Foil",
491
+ "rating": "Standard",
492
+ "weight": 0.05,
493
+ "room": "Redmond Safehouse",
494
+ "atSpot": "gear cache"
495
+ },
496
+ {
497
+ "name": "Rusty Machete",
498
+ "description": "A working blade with an honest edge under the rust. It has opened doors, crates, and arguments.",
499
+ "size": "Medium",
500
+ "category": "MeleeWeapon",
501
+ "shape": "Blade",
502
+ "color": "Rust Brown",
503
+ "texture": "Pitted Steel",
504
+ "rating": "Common",
505
+ "weight": 1.8,
506
+ "room": "Redmond Safehouse",
507
+ "atSpot": "gear cache"
508
+ },
509
+ {
510
+ "name": "Cuban Cigar",
511
+ "description": "Hard to find, but delicious.",
512
+ "size": "Tiny",
513
+ "category": "Vice",
514
+ "shape": "Rectangle",
515
+ "color": "Brown",
516
+ "texture": "Smooth",
517
+ "rating": "Rare",
518
+ "weight": 0.1,
519
+ "room": "Lucky Chummer",
520
+ "atSpot": "bar rail"
521
+ },
522
+ {
523
+ "name": "Casino Ledger Paydata",
524
+ "description": "The Lucky Chummer's real books -- every skimmed percentage and bribed inspector, flickering in green digital static.",
525
+ "details": "Decrypted, this ledger would end careers. Certain people would pay heavily for it -- or to make it disappear.",
526
+ "size": "Tiny",
527
+ "category": "Datachip",
528
+ "shape": "Virtual Folder",
529
+ "color": "Flickering Green",
530
+ "texture": "Digital Static",
531
+ "rating": "Rare",
532
+ "weight": 0,
533
+ "plane": "matrix",
534
+ "room": "Grid Vault"
535
+ },
536
+ {
537
+ "name": "Spirit-Touched Talisman",
538
+ "description": "A fused knot of chapel glass and ash that never quite cools. Something of the Ash Sister lingers in it.",
539
+ "size": "Tiny",
540
+ "category": "Focus",
541
+ "shape": "Talisman",
542
+ "color": "Ember Orange",
543
+ "texture": "Fused Glass",
544
+ "rating": "Rare",
545
+ "weight": 0.2,
546
+ "room": "Chapel Alcove",
547
+ "atSpot": "shrine"
548
+ }
549
+ ],
550
+ "puzzles": [],
551
+ "winCondition": {
552
+ "type": "possess",
553
+ "item": "Krow's Datachip",
554
+ "completionMessage": "The datachip is yours. Krow's grip on the Lucky Chummer just loosened -- whatever you do with it next, chummer, it's your move now."
555
+ }
556
+ }