@maka/maka-cli 5.123.1 → 5.125.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +64 -64
- package/bundle/typescript/package.json +120 -120
- package/bundle/typescript/src/README.md +64 -64
- package/bundle/typescript/src/commands/aws/aws.command.js +2 -2
- package/bundle/typescript/src/commands/aws/ci.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/ckp.sub.cmd.js +12 -12
- package/bundle/typescript/src/commands/aws/csg.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/di.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/aws/rkp.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/aws/sth.sub.cmd.js +3 -3
- package/bundle/typescript/src/commands/aws/ti.sub.cmd.js +5 -5
- package/bundle/typescript/src/commands/build/build.js +16 -16
- package/bundle/typescript/src/commands/build/docker.sub.cmd.js +9 -9
- package/bundle/typescript/src/commands/create.js +36 -36
- package/bundle/typescript/src/commands/debug.js +4 -4
- package/bundle/typescript/src/commands/deploy/deploy.command.js +2 -2
- package/bundle/typescript/src/commands/deploy/galaxy.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/deploy/github.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/deploy/ubuntu.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/env/env.command.js +8 -8
- package/bundle/typescript/src/commands/env/set.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.d.ts +0 -8
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js +6 -50
- package/bundle/typescript/src/commands/game/sideQuest/adept-powers.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +3 -3
- package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.d.ts +0 -4
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js +0 -1342
- package/bundle/typescript/src/commands/game/sideQuest/augmentations.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/cast.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js +5 -6
- package/bundle/typescript/src/commands/game/sideQuest/commands/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js +13 -5
- package/bundle/typescript/src/commands/game/sideQuest/commands/companions.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js +5 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/drone.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/equipment.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.d.ts +0 -38
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js +11 -45
- package/bundle/typescript/src/commands/game/sideQuest/commands/initiate.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js +5 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/install.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js +10 -4
- package/bundle/typescript/src/commands/game/sideQuest/commands/jump.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.d.ts +7 -0
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js +58 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/lifestyle.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js +10 -7
- package/bundle/typescript/src/commands/game/sideQuest/commands/quality-trade.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +7 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +9 -9
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +12 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest/commands/sin.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js +8 -8
- package/bundle/typescript/src/commands/game/sideQuest/commands/source.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +22 -1
- package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +24 -1
- package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +39 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +110 -35
- package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +445 -445
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +6 -6
- package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +42 -1
- package/bundle/typescript/src/commands/game/sideQuest/game.js +118 -43
- package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.js +12 -0
- package/bundle/typescript/src/commands/game/sideQuest/metamagics.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.d.ts +6 -4
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js +3 -83
- package/bundle/typescript/src/commands/game/sideQuest/metatypes.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.d.ts +36 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js +62 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/home-containers.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +206 -206
- package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +5 -5
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js +10 -14
- package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js +24 -10
- package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/qualities.d.ts +3 -7
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js +15 -715
- package/bundle/typescript/src/commands/game/sideQuest/qualities.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene1.json +556 -556
- package/bundle/typescript/src/commands/game/sideQuest/scenes/scene2.json +1447 -1447
- package/bundle/typescript/src/commands/game/sideQuest/spells.d.ts +5 -7
- package/bundle/typescript/src/commands/game/sideQuest/spells.js +5 -63
- package/bundle/typescript/src/commands/game/sideQuest/spells.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +8 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js +22 -0
- package/bundle/typescript/src/commands/game/sideQuest/ui.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.d.ts +36 -20
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js +24 -658
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog-data.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.d.ts +100 -20
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +314 -57
- package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +45 -5
- package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +14 -14
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.d.ts +32 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js +24 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/owned-drones.js.map +1 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.d.ts +34 -0
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +66 -29
- package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
- package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +28 -2
- package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/generate.js +2 -2
- package/bundle/typescript/src/commands/lint.js +10 -10
- package/bundle/typescript/src/commands/maka.cmd.js +26 -26
- package/bundle/typescript/src/commands/murder.js +14 -14
- package/bundle/typescript/src/commands/proxy.js +13 -13
- package/bundle/typescript/src/commands/remote/reconfig.sub.cmd.js +6 -6
- package/bundle/typescript/src/commands/run/docker.sub.cmd.js +11 -11
- package/bundle/typescript/src/commands/run/run.command.js +24 -24
- package/bundle/typescript/src/commands/set/global.sub.cmd.js +8 -8
- package/bundle/typescript/src/commands/set/local.sub.cmd.js +2 -2
- package/bundle/typescript/src/commands/set/set.command.js +3 -3
- package/bundle/typescript/src/commands/testCmd/test.command.js +2 -2
- package/bundle/typescript/src/error.js +1 -1
- package/bundle/typescript/src/error.js.map +1 -1
- package/bundle/typescript/src/exec.js +0 -0
- package/bundle/typescript/src/generators/api.js +11 -11
- package/bundle/typescript/src/generators/collection.js +6 -6
- package/bundle/typescript/src/generators/hook.js +10 -10
- package/bundle/typescript/src/generators/kits/auth/auth.generator.js +2 -2
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +612 -612
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +48 -48
- package/bundle/typescript/src/generators/kits/auth/provider.auth.gen.js +12 -12
- package/bundle/typescript/src/generators/kits/esri/esri.generator.js +3 -3
- package/bundle/typescript/src/generators/kits/esri/map.esri.gen.js +7 -7
- package/bundle/typescript/src/generators/kits/frames/frames.generator.js +16 -16
- package/bundle/typescript/src/generators/kits/mui/auth.mui.gen.js +2 -2
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +5 -5
- package/bundle/typescript/src/generators/kits/mui/frame.mui.gen.js +4 -4
- package/bundle/typescript/src/generators/kits/mui/mui.generator.js +22 -22
- package/bundle/typescript/src/generators/services/translation.js +5 -5
- package/bundle/typescript/src/templates/aws/cloudformation/create-ec2-instance.template +14 -14
- package/bundle/typescript/src/templates/meteor/api/api.js +20 -20
- package/bundle/typescript/src/templates/meteor/api/api.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js +50 -50
- package/bundle/typescript/src/templates/meteor/api/apollo-gateway.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js +63 -63
- package/bundle/typescript/src/templates/meteor/api/graphql-api.js.ts +69 -69
- package/bundle/typescript/src/templates/meteor/api/methods.js +39 -39
- package/bundle/typescript/src/templates/meteor/api/methods.js.ts +40 -40
- package/bundle/typescript/src/templates/meteor/api/register-api.js +3 -3
- package/bundle/typescript/src/templates/meteor/api/register-api.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/api/resolvers.js +9 -9
- package/bundle/typescript/src/templates/meteor/api/resolvers.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js +6 -6
- package/bundle/typescript/src/templates/meteor/api/typeDefs.js.ts +6 -6
- package/bundle/typescript/src/templates/meteor/app/client/body.html +3 -3
- package/bundle/typescript/src/templates/meteor/app/client/head.html +12 -12
- package/bundle/typescript/src/templates/meteor/app/client/main.js +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.jsx +15 -15
- package/bundle/typescript/src/templates/meteor/app/client/main.js.ts +17 -17
- package/bundle/typescript/src/templates/meteor/app/client/main.js.tsx +17 -17
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.jsx +107 -107
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.ts +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/index.js.tsx +108 -108
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js +39 -39
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.jsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/routes.js.tsx +33 -33
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.jsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.ts +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/client/templates.js.tsx +9 -9
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.jsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/index.js.tsx +20 -20
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.jsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/lib/routes.js.tsx +28 -28
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js +1 -1
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.jsx +95 -95
- package/bundle/typescript/src/templates/meteor/app/imports/startup/server/index.js.tsx +98 -98
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js +24 -24
- package/bundle/typescript/src/templates/meteor/app/imports/ui/test-helpers.js.ts +24 -24
- package/bundle/typescript/src/templates/meteor/app/lib/main.js +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.jsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/app/lib/main.js.tsx +3 -3
- package/bundle/typescript/src/templates/meteor/app/maka.d.ts +533 -533
- package/bundle/typescript/src/templates/meteor/app/meteor.d.ts +181 -181
- package/bundle/typescript/src/templates/meteor/app/public/manifest.json +27 -27
- package/bundle/typescript/src/templates/meteor/app/public/sw.js +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.jsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.ts +30 -30
- package/bundle/typescript/src/templates/meteor/app/public/sw.js.tsx +30 -30
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.jsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.ts +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/helmet-csp.js.tsx +179 -179
- package/bundle/typescript/src/templates/meteor/app/server/main.js +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.jsx +13 -13
- package/bundle/typescript/src/templates/meteor/app/server/main.js.ts +14 -14
- package/bundle/typescript/src/templates/meteor/app/server/main.js.tsx +14 -14
- package/bundle/typescript/src/templates/meteor/app/tsconfig.json +42 -42
- package/bundle/typescript/src/templates/meteor/collection/collection.js +51 -51
- package/bundle/typescript/src/templates/meteor/collection/collection.js.ts +55 -55
- package/bundle/typescript/src/templates/meteor/collection/tests.js +27 -27
- package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/config/deploy.sh.template +101 -101
- package/bundle/typescript/src/templates/meteor/config/docker-compose.yaml +17 -17
- package/bundle/typescript/src/templates/meteor/config/nginx.conf.template +31 -31
- package/bundle/typescript/src/templates/meteor/config/pm2.config.js +27 -27
- package/bundle/typescript/src/templates/meteor/config/process.env +5 -5
- package/bundle/typescript/src/templates/meteor/config/settings.json +11 -11
- package/bundle/typescript/src/templates/meteor/config/ssh.json +6 -6
- package/bundle/typescript/src/templates/meteor/dbc/config.js +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/config.js.ts +70 -70
- package/bundle/typescript/src/templates/meteor/dbc/conn.js +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/conn.js.ts +37 -37
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js +3 -3
- package/bundle/typescript/src/templates/meteor/dbc/register-dbc.js.ts +3 -3
- package/bundle/typescript/src/templates/meteor/github/workflows/deploy.yaml +150 -150
- package/bundle/typescript/src/templates/meteor/method/method.js +48 -48
- package/bundle/typescript/src/templates/meteor/method/method.js.ts +48 -48
- package/bundle/typescript/src/templates/meteor/package/package.js +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.jsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/package.js.ts +36 -36
- package/bundle/typescript/src/templates/meteor/package/package.js.tsx +37 -37
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/client/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.jsx +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.ts +5 -5
- package/bundle/typescript/src/templates/meteor/package/tests/server/package.js.tsx +5 -5
- package/bundle/typescript/src/templates/meteor/project/.maka/config.json +29 -29
- package/bundle/typescript/src/templates/meteor/project/README.md +33 -33
- package/bundle/typescript/src/templates/meteor/project/build/README +4 -4
- package/bundle/typescript/src/templates/meteor/project/gitignore +10 -10
- package/bundle/typescript/src/templates/meteor/project/package.json +29 -29
- package/bundle/typescript/src/templates/meteor/publish/publish.js +7 -7
- package/bundle/typescript/src/templates/meteor/publish/publish.js.ts +7 -7
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js +27 -27
- package/bundle/typescript/src/templates/meteor/service/logger/logger.js.ts +27 -27
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css +5 -5
- package/bundle/typescript/src/templates/meteor/stylesheet/stylesheet.css.less +5 -5
- package/bundle/typescript/src/templates/meteor/template/template-tests.js +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.jsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template-tests.js.tsx +55 -55
- package/bundle/typescript/src/templates/meteor/template/template.css +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.less +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.css.scss +3 -3
- package/bundle/typescript/src/templates/meteor/template/template.html +5 -5
- package/bundle/typescript/src/templates/meteor/template/template.js +20 -20
- package/bundle/typescript/src/templates/meteor/template/template.js.jsx +77 -77
- package/bundle/typescript/src/templates/meteor/template/template.js.ts +1 -1
- package/bundle/typescript/src/templates/meteor/template/template.js.tsx +89 -89
- package/bundle/typescript/src/templates/react/component/component.css +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.less +6 -6
- package/bundle/typescript/src/templates/react/component/component.css.scss +3 -3
- package/bundle/typescript/src/templates/react/component/component.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/component/component.js.tsx +65 -65
- package/bundle/typescript/src/templates/react/hook/hook.css +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.css.scss +3 -3
- package/bundle/typescript/src/templates/react/hook/hook.js.jsx +19 -19
- package/bundle/typescript/src/templates/react/hook/hook.js.tsx +19 -19
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.jsx +306 -306
- package/bundle/typescript/src/templates/react/kit/auth/provider/authentication-provider.js.tsx +350 -350
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +178 -178
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +59 -59
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +67 -67
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +273 -273
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +275 -275
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +182 -182
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +199 -199
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.jsx +138 -138
- package/bundle/typescript/src/templates/react/kit/auth/service/meteor-auth-service.js.tsx +153 -153
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.jsx +29 -29
- package/bundle/typescript/src/templates/react/kit/esri/map/basic-map.js.tsx +32 -32
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.css +63 -63
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.jsx +153 -153
- package/bundle/typescript/src/templates/react/kit/frames/frames-demo.tsx +164 -164
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.css +105 -105
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.jsx +158 -158
- package/bundle/typescript/src/templates/react/kit/frames/workspace-manager.tsx +166 -166
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.jsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/forgot-password/basic-forgot-password-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.jsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/login/basic-login-page.js.tsx +53 -53
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.jsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/logout/basic-logout-page.js.tsx +25 -25
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/auth/password-reset/basic-password-reset-page.js.tsx +34 -34
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.jsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth/register/basic-register-page.js.tsx +33 -33
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -71
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -123
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -56
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -74
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.jsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/app-bars/basic-app-bar.js.tsx +43 -43
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.jsx +121 -121
- package/bundle/typescript/src/templates/react/kit/mui/frame/drawers/basic-drawer.js.tsx +117 -117
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.jsx +41 -41
- package/bundle/typescript/src/templates/react/kit/mui/frame/footers/basic-sticky-footer.js.tsx +41 -41
- package/bundle/typescript/src/templates/react/route/route.js +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.jsx +5 -5
- package/bundle/typescript/src/templates/react/route/route.js.ts +8 -8
- package/bundle/typescript/src/templates/react/route/route.js.tsx +5 -5
- package/bundle/typescript/src/templates/react/test/test.js +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.jsx +40 -40
- package/bundle/typescript/src/templates/react/test/test.js.ts +1 -1
- package/bundle/typescript/src/templates/react/test/test.js.tsx +40 -40
- package/bundle/typescript/src/templates/service/docker/Dockerfile +54 -54
- package/bundle/typescript/src/templates/service/eslint/babel.config.js +16 -16
- package/bundle/typescript/src/templates/service/eslint/config.eslint.js +69 -69
- package/bundle/typescript/src/templates/service/i18n/i18n.js +33 -33
- package/bundle/typescript/src/templates/service/i18n/i18n.js.ts +33 -33
- package/bundle/typescript/src/templates/service/i18n/locales.js +3 -3
- package/bundle/typescript/src/templates/service/i18n/locales.js.ts +3 -3
- package/bundle/typescript/src/templates/service/openssl/openssl.conf +22 -22
- package/bundle/typescript/src/templates/service/test/jest/jest.config.js +24 -24
- package/bundle/typescript/src/templates/service/test/jest/jest.setup.js +7 -7
- package/bundle/typescript/src/tool.d.ts +2 -0
- package/bundle/typescript/src/tool.js +5 -2
- package/bundle/typescript/src/tool.js.map +1 -1
- package/package.json +120 -120
|
@@ -18,12 +18,14 @@ import { Item } from './models/item.js';
|
|
|
18
18
|
import { Room, Container } from './models/_index.js';
|
|
19
19
|
import { Door } from './models/door.js';
|
|
20
20
|
import { SAVE_VERSION } from './types/save-file.js';
|
|
21
|
-
import { serializePlayer, restorePlayer, captureHubOverlay, applyHubOverlay, writeSaveAtomic, deleteSave, restoreItem, readSave, serializeItem, saveSlug, spillPathFor, } from './utilities/persistence.js';
|
|
21
|
+
import { serializePlayer, restorePlayer, captureHubOverlay, applyHubOverlay, applyHomeBlock, writeSaveAtomic, deleteSave, restoreItem, readSave, serializeItem, saveSlug, spillPathFor, } from './utilities/persistence.js';
|
|
22
22
|
import { heartbeatPresence, heartbeatPresenceNow } from './utilities/social.js';
|
|
23
23
|
import { presenceBeatAllowed } from './utilities/presence-gate.js';
|
|
24
24
|
import { pushSave, burnCloudSaveFor, enqueueBoundPush, flushPushQueue, writeSpill, takeLastMemorial, authToken, clearSpill, hasPendingPush, } from './utilities/cloud-saves.js';
|
|
25
25
|
import { DOCWAGON_TIERS, RESUSC_FEE, DEATH_COMP } from './utilities/docwagon.js';
|
|
26
|
-
import { isFence, LIFESTYLE_TIERS, canonicalLifestyleTier } from './utilities/commerce.js';
|
|
26
|
+
import { isFence, LIFESTYLE_TIERS, LIFESTYLE_OPTIONS, canonicalLifestyleTier, canonicalLifestyleOption, lifestyleOptionAllowed } from './utilities/commerce.js';
|
|
27
|
+
import { reconcileGarage } from './models/home-containers.js';
|
|
28
|
+
import { ownedDrones } from './utilities/owned-drones.js';
|
|
27
29
|
import { attachBrandMark, attachBrandMarkBottomRight } from './utilities/brand-mark.js';
|
|
28
30
|
import { logoPanelLines } from './utilities/logo-mark.js';
|
|
29
31
|
import { bestFakeSin, wandRead, processArrest } from './utilities/sin.js';
|
|
@@ -89,7 +91,6 @@ import { LeadCommand, RecruitCommand } from './commands/lead.js';
|
|
|
89
91
|
import { CrewCommand, HireCommand, DismissCommand, TrainCommand } from './commands/crew.js';
|
|
90
92
|
import { PalmCommand } from './commands/palm.js';
|
|
91
93
|
import { CatalogCommand } from './commands/catalog.js';
|
|
92
|
-
import { ensureCatalog } from './utilities/catalog.js';
|
|
93
94
|
import { PerformCommand } from './commands/perform.js';
|
|
94
95
|
import { EdgeCommand } from './commands/edge.js';
|
|
95
96
|
import { SheetCommand } from './commands/sheet.js';
|
|
@@ -1363,10 +1364,17 @@ export default class Game {
|
|
|
1363
1364
|
// roster the runner OWNS and has not sent out -- drones in the bag, the
|
|
1364
1365
|
// deck's agent, registered sprites waiting in the Resonance. Spirits
|
|
1365
1366
|
// exist only while summoned, so none is ever stowed.
|
|
1366
|
-
|
|
1367
|
+
// ...and the frames parked in the Garage (2026-09-05): owned, not
|
|
1368
|
+
// deployed, and tagged so the sheet says where.
|
|
1369
|
+
for (const { item: d, where } of ownedDrones(player, this._homeRoom, { reach: 'owned' })) {
|
|
1367
1370
|
if (out.some(o => o.name === d.name))
|
|
1368
1371
|
continue;
|
|
1369
|
-
out.push({
|
|
1372
|
+
out.push({
|
|
1373
|
+
name: d.name, kind: 'drone', deployed: false,
|
|
1374
|
+
...(where === 'garage' ? { where: 'garage' } : {}),
|
|
1375
|
+
line: `Pilot ${d.pilotRating}, hull ${d.droneSummary()}${d.isWrecked ? ' -- WRECKED' : ''}`,
|
|
1376
|
+
damage: { taken: d.droneDamage, max: d.maxDroneBoxes },
|
|
1377
|
+
});
|
|
1370
1378
|
}
|
|
1371
1379
|
const deck = player.getAnyCyberdeck();
|
|
1372
1380
|
if (deck && !this.companions.some(c => c.kind === 'agent')) {
|
|
@@ -1748,6 +1756,13 @@ export default class Game {
|
|
|
1748
1756
|
// and while the tab stands, rest at the hideout recovers half (rest.ts;
|
|
1749
1757
|
// "pay" squares it, pay.ts; "lifestyle" views and moves tiers).
|
|
1750
1758
|
lifestyleTier = 'Squatter';
|
|
1759
|
+
/**
|
|
1760
|
+
* LIFESTYLE OPTIONS (SR5 p.370, 2026-09-05): riders on the tier, by
|
|
1761
|
+
* canonical key -- today only 'garage', the Special Work Area that
|
|
1762
|
+
* parks a rigger's frames (utilities/commerce.ts LIFESTYLE_OPTIONS).
|
|
1763
|
+
* Barred on Street; a slide to Street drops them (returnToHub).
|
|
1764
|
+
*/
|
|
1765
|
+
lifestyleOptions = [];
|
|
1751
1766
|
/** The Big Ten grid a High lifestyle rides (SR5 p.222). A placeholder default until chargen offers the pick (grids.ts). */
|
|
1752
1767
|
gridProvider = DEFAULT_GRID_PROVIDER;
|
|
1753
1768
|
rentDebt = 0;
|
|
@@ -1755,15 +1770,41 @@ export default class Game {
|
|
|
1755
1770
|
get lifestyle() {
|
|
1756
1771
|
return LIFESTYLE_TIERS.find(t => t.name === this.lifestyleTier) ?? LIFESTYLE_TIERS[1];
|
|
1757
1772
|
}
|
|
1773
|
+
hasLifestyleOption(key) {
|
|
1774
|
+
return this.lifestyleOptions.includes(key);
|
|
1775
|
+
}
|
|
1776
|
+
/** What the homecoming collects: the tier's share plus every option's. */
|
|
1777
|
+
get lifestyleUpkeep() {
|
|
1778
|
+
return this.lifestyle.upkeep
|
|
1779
|
+
+ LIFESTYLE_OPTIONS.filter(o => this.lifestyleOptions.includes(o.key)).reduce((n, o) => n + o.upkeep, 0);
|
|
1780
|
+
}
|
|
1781
|
+
/**
|
|
1782
|
+
* Drop every option the current tier bars (p.370: none on Street).
|
|
1783
|
+
* Returns the keys dropped, so the caller can say the lease lapsed.
|
|
1784
|
+
*/
|
|
1785
|
+
dropBarredLifestyleOptions() {
|
|
1786
|
+
const dropped = this.lifestyleOptions.filter(o => !lifestyleOptionAllowed(o, this.lifestyleTier));
|
|
1787
|
+
if (dropped.length > 0)
|
|
1788
|
+
this.lifestyleOptions = this.lifestyleOptions.filter(o => !dropped.includes(o));
|
|
1789
|
+
return dropped;
|
|
1790
|
+
}
|
|
1758
1791
|
/**
|
|
1759
1792
|
* Makes the hideout LOOK like what the rent buys: the room's description
|
|
1760
1793
|
* follows the active tier (player request -- an upgraded lifestyle read
|
|
1761
1794
|
* as the same windowless squat). Called wherever the tier moves: the
|
|
1762
1795
|
* lifestyle command, and the shortfall slide in returnToHub.
|
|
1796
|
+
*
|
|
1797
|
+
* THE GARAGE FOLLOWS THE OPTION (2026-09-05): the bay exists exactly
|
|
1798
|
+
* while the lifestyle carries 'garage'. Reconciling here, on the same
|
|
1799
|
+
* call every tier move already makes, is what keeps the furniture and
|
|
1800
|
+
* the lease from disagreeing. Returns the names of any frames a lapsed
|
|
1801
|
+
* lease spilled onto the floor, for the caller to mention.
|
|
1763
1802
|
*/
|
|
1764
1803
|
syncHomeToLifestyle() {
|
|
1765
|
-
if (this._homeRoom)
|
|
1766
|
-
|
|
1804
|
+
if (!this._homeRoom)
|
|
1805
|
+
return [];
|
|
1806
|
+
this._homeRoom.description = this.lifestyle.homeDescription;
|
|
1807
|
+
return reconcileGarage(this._homeRoom, this.player.name, this.hasLifestyleOption('garage'), this.lifestyle.garageDescription ?? 'A bay with a roll-down door. Your frames park here.');
|
|
1767
1808
|
}
|
|
1768
1809
|
// RESTOCK (see returnToHub): consumable shop stock -- food, drink,
|
|
1769
1810
|
// ammo, patches -- snapshotted at hub capture and restored to any shelf
|
|
@@ -2174,7 +2215,7 @@ export default class Game {
|
|
|
2174
2215
|
if (client.dead) {
|
|
2175
2216
|
this.contacts.delete(client.name);
|
|
2176
2217
|
Logger.getInstance().write(`Client reputation settled: ${client.name} (dead -- no contact).`);
|
|
2177
|
-
return `
|
|
2218
|
+
return `
|
|
2178
2219
|
${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and their friends ask questions.`;
|
|
2179
2220
|
}
|
|
2180
2221
|
const existing = this.contacts.get(client.name);
|
|
@@ -2746,14 +2787,11 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
2746
2787
|
Logger.getInstance().logWithColor(`⚠ Your AI provider refused: "${message.slice(0, 140)}" -- NPC voices and job generation are OFFLINE until the key or credits are fixed. Dice, combat, and coms still work.`, 'yellow');
|
|
2747
2788
|
this.screenRender?.();
|
|
2748
2789
|
};
|
|
2749
|
-
//
|
|
2750
|
-
//
|
|
2751
|
-
//
|
|
2752
|
-
//
|
|
2753
|
-
//
|
|
2754
|
-
// cache is behind it. Signed-out players are served their cache or
|
|
2755
|
-
// the floor and nothing leaves the machine.
|
|
2756
|
-
void ensureCatalog({ token: authToken() });
|
|
2790
|
+
// THE CATALOG IS NOT FETCHED HERE ANY MORE (2026-09-05). The terminal
|
|
2791
|
+
// client gates on it before this point (sideQuest.sub.cmd.ts and
|
|
2792
|
+
// ui.ts call requireCatalog), and a server hosting headless sessions
|
|
2793
|
+
// primes the engine from its own database (applyLiveCatalog) -- so
|
|
2794
|
+
// initEngine, which both of them reach, must not touch the network.
|
|
2757
2795
|
// No "Generating Scene... Please wait." box anymore: every path now
|
|
2758
2796
|
// arrives with REAL prose (hand-authored static seeds, chunk-authored
|
|
2759
2797
|
// generated scenes), so the old blocking AI-redressing pass -- 30-60
|
|
@@ -2997,35 +3035,61 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
2997
3035
|
* matters less than its POSITION in init(): after seedHomeTurfContacts
|
|
2998
3036
|
* and snapshotVendorStock (both deliberately pre-overlay).
|
|
2999
3037
|
*/
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
|
|
3009
|
-
|
|
3010
|
-
|
|
3011
|
-
|
|
3012
|
-
|
|
3013
|
-
|
|
3014
|
-
|
|
3015
|
-
|
|
3016
|
-
|
|
3017
|
-
|
|
3018
|
-
|
|
3019
|
-
|
|
3020
|
-
// Street, the factory's intent. (It cannot restore a PAID tier the
|
|
3021
|
-
// local file never knew -- that is the cloud repair's job, and the
|
|
3022
|
-
// sync protocol's, see the repair-visibility ruling in cloud-saves.)
|
|
3038
|
+
/**
|
|
3039
|
+
* THE LIFESTYLE THE SAVE PAID FOR, applied -- for EVERY save, a birth
|
|
3040
|
+
* certificate included (2026-09-05). This used to sit below the
|
|
3041
|
+
* `creation` early return in applyResumeState, so a web-born runner who
|
|
3042
|
+
* had paid a first month of High booted at the Squatter default, and
|
|
3043
|
+
* the first hub-arrival save then serialised that Squatter and buried
|
|
3044
|
+
* the tier for good. The lifestyle is Game-owned, not seed-owned; there
|
|
3045
|
+
* is no "world" it waits on.
|
|
3046
|
+
*
|
|
3047
|
+
* CANONICAL ON RESTORE (2026-09-01): the web factory once wrote a
|
|
3048
|
+
* lowercase 'street' that matched no LIFESTYLE_TIERS name, and this
|
|
3049
|
+
* line handed it to a getter that fell through to Squatter -- then
|
|
3050
|
+
* the next save SERIALIZED that Squatter, local and cloud, burying
|
|
3051
|
+
* any server-side repair. Canonicalizing here closes the fall-through
|
|
3052
|
+
* for every save that still carries the old spelling: 'street' means
|
|
3053
|
+
* Street, the factory's intent. (It cannot restore a PAID tier the
|
|
3054
|
+
* local file never knew -- that is the cloud repair's job, and the
|
|
3055
|
+
* sync protocol's, see the repair-visibility ruling in cloud-saves.)
|
|
3056
|
+
*/
|
|
3057
|
+
applyLifestyleFromSave(save) {
|
|
3023
3058
|
this.lifestyleTier = canonicalLifestyleTier(save.game.lifestyleTier) ?? 'Street';
|
|
3059
|
+
// Options: canonical, known, and allowed on the tier -- a 'garage' a
|
|
3060
|
+
// Street save somehow carries is dropped here rather than built.
|
|
3061
|
+
this.lifestyleOptions = (save.game.lifestyleOptions ?? [])
|
|
3062
|
+
.map(canonicalLifestyleOption)
|
|
3063
|
+
.filter((o) => o !== undefined && lifestyleOptionAllowed(o, this.lifestyleTier));
|
|
3024
3064
|
if (typeof save.game.gridProvider === 'string' && save.game.gridProvider.trim())
|
|
3025
3065
|
this.gridProvider = save.game.gridProvider;
|
|
3026
3066
|
this.rentDebt = save.game.rentDebt;
|
|
3027
3067
|
this.syncHomeToLifestyle();
|
|
3028
3068
|
this.player.lifestyleEdgeBonus = this.lifestyle.edgeBonus;
|
|
3069
|
+
}
|
|
3070
|
+
applyResumeState(save) {
|
|
3071
|
+
restorePlayer(this.player, save.player);
|
|
3072
|
+
this.applyLifestyleFromSave(save);
|
|
3073
|
+
// A BIRTH CERTIFICATE IS NOT A RESUME. A `reason: 'creation'` save
|
|
3074
|
+
// (the web chargen factory) carries a player and a hub seed and NO
|
|
3075
|
+
// WORLD -- nothing has happened to overlay. Applying its empty hub as
|
|
3076
|
+
// if a session had produced it crashed the very first web-born runner
|
|
3077
|
+
// at boot (`saved.deadActors is not iterable`, 2026-09-01) and would
|
|
3078
|
+
// have zeroed the gig pool besides. The world boots fresh from the
|
|
3079
|
+
// embedded seed, exactly as a CLI-born character's does; the first
|
|
3080
|
+
// real requestSave writes the full state and every later resume
|
|
3081
|
+
// takes the branch below.
|
|
3082
|
+
//
|
|
3083
|
+
// WHAT A BIRTH CERTIFICATE DOES CARRY (2026-09-05): its lifestyle
|
|
3084
|
+
// (applied above) and its HOME block -- the Game-owned hideout's
|
|
3085
|
+
// furniture, which the factory fills when a rigger is born with a
|
|
3086
|
+
// garage full of frames. Both are the runner's, not the world's, so
|
|
3087
|
+
// both are applied; the seed-derived overlay stays skipped.
|
|
3088
|
+
if (save.reason === 'creation') {
|
|
3089
|
+
applyHomeBlock(this._homeRoom, save.hub?.home, this.player);
|
|
3090
|
+
return;
|
|
3091
|
+
}
|
|
3092
|
+
applyHubOverlay(this.scene, save.hub, this.player, this._homeRoom);
|
|
3029
3093
|
this._tier = save.game.tier;
|
|
3030
3094
|
this.contacts = new Map(save.game.contacts);
|
|
3031
3095
|
// Roles are DERIVED, not earned -- re-derive them all on every
|
|
@@ -3291,6 +3355,7 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
3291
3355
|
location: this.hubLocationSnapshot(),
|
|
3292
3356
|
gridProvider: this.gridProvider,
|
|
3293
3357
|
lifestyleTier: this.lifestyleTier,
|
|
3358
|
+
lifestyleOptions: [...this.lifestyleOptions],
|
|
3294
3359
|
rentDebt: this.rentDebt,
|
|
3295
3360
|
tier: this._tier,
|
|
3296
3361
|
contacts: [...this.contacts.entries()],
|
|
@@ -3689,7 +3754,9 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
3689
3754
|
// the shortfall becomes the tab -- rest.ts halves recovery while you
|
|
3690
3755
|
// owe; "pay" squares it; "lifestyle" climbs back up.
|
|
3691
3756
|
const tier = this.lifestyle;
|
|
3692
|
-
|
|
3757
|
+
// The tier's share plus every option's (the garage, p.370).
|
|
3758
|
+
const upkeep = this.lifestyleUpkeep;
|
|
3759
|
+
const due = upkeep + this.rentDebt;
|
|
3693
3760
|
const paid = Math.min(this.player.currency, due);
|
|
3694
3761
|
if (paid > 0)
|
|
3695
3762
|
this.player.adjustCurrency(-paid);
|
|
@@ -3699,16 +3766,24 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
|
|
|
3699
3766
|
const tierIndex = LIFESTYLE_TIERS.findIndex(t => t.name === tier.name);
|
|
3700
3767
|
if (tierIndex > 0) {
|
|
3701
3768
|
this.lifestyleTier = LIFESTYLE_TIERS[tierIndex - 1].name;
|
|
3769
|
+
// A lease the new tier cannot carry lapses with it (Street bars
|
|
3770
|
+
// every option), and the garage's frames land on the floor --
|
|
3771
|
+
// still yours, still here, just not parked.
|
|
3772
|
+
const dropped = this.dropBarredLifestyleOptions();
|
|
3702
3773
|
// The downgrade is visible the moment you look around.
|
|
3703
|
-
this.syncHomeToLifestyle();
|
|
3704
|
-
|
|
3774
|
+
const spilled = this.syncHomeToLifestyle();
|
|
3775
|
+
const lapse = dropped.length > 0
|
|
3776
|
+
? ` The garage lease goes with it${spilled.length > 0 ? `; ${spilled.join(', ')} sit${spilled.length === 1 ? 's' : ''} in the alley now` : ''}.`
|
|
3777
|
+
: '';
|
|
3778
|
+
rentLine = `The landlord's drone pings before the door even shuts: ${paid > 0 ? `${paid} paid, ` : ''}${this.rentDebt} nuyen still owed. Your ${tier.name} arrangement lapses -- you're living ${this.lifestyleTier} now.${lapse}${hint(` ("pay" the tab, "lifestyle" to climb back.)`)}`;
|
|
3705
3779
|
}
|
|
3706
3780
|
else {
|
|
3707
3781
|
rentLine = `Even the doorway costs something: ${this.rentDebt} nuyen on the tab.${hint(` ("pay" when you're flush.)`)}`;
|
|
3708
3782
|
}
|
|
3709
3783
|
}
|
|
3710
3784
|
else {
|
|
3711
|
-
|
|
3785
|
+
const share = upkeep > tier.upkeep ? ` (${tier.name} upkeep plus the garage)` : ` (${tier.name} upkeep)`;
|
|
3786
|
+
rentLine = `The landlord's drone takes its ${paid} nuyen${share} at the door and buzzes off satisfied.`;
|
|
3712
3787
|
}
|
|
3713
3788
|
this.player.lifestyleEdgeBonus = this.lifestyle.edgeBonus;
|
|
3714
3789
|
// A High lifestyle erases the run: hot shower, real bed, full reset.
|