cyberia 3.2.5 → 3.2.9
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/.github/workflows/engine-cyberia.cd.yml +2 -2
- package/.github/workflows/release.cd.yml +1 -2
- package/CHANGELOG.md +351 -1
- package/CLI-HELP.md +40 -13
- package/Dockerfile +0 -4
- package/README.md +242 -497
- package/bin/build.js +19 -5
- package/bin/cyberia.js +1149 -240
- package/bin/deploy.js +570 -1
- package/bin/file.js +6 -0
- package/bin/index.js +1149 -240
- package/bin/vs.js +1 -1
- package/conf.js +67 -89
- package/deployment.yaml +4 -222
- package/hardhat/package-lock.json +32 -32
- package/hardhat/package.json +3 -3
- package/jsconfig.json +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +2 -2
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +2 -2
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +4 -222
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +10 -118
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
- package/manifests/deployment/dd-test-development/deployment.yaml +136 -66
- package/manifests/deployment/dd-test-development/proxy.yaml +41 -5
- package/package.json +23 -14
- package/proxy.yaml +10 -118
- package/scripts/k3s-node-setup.sh +2 -2
- package/scripts/nat-iptables.sh +103 -18
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +18 -18
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +7 -14
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +76 -21
- package/src/api/core/core.controller.js +10 -10
- package/src/api/core/core.service.js +10 -10
- package/src/api/crypto/crypto.controller.js +8 -8
- package/src/api/crypto/crypto.service.js +8 -8
- package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
- package/src/api/cyberia-action/cyberia-action.model.js +87 -0
- package/src/api/cyberia-action/cyberia-action.router.js +27 -0
- package/src/api/cyberia-action/cyberia-action.service.js +42 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +13 -13
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +11 -11
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +2 -2
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +16 -16
- package/src/api/cyberia-entity/cyberia-entity.controller.js +10 -10
- package/src/api/cyberia-entity/cyberia-entity.service.js +10 -10
- package/src/api/cyberia-instance/cyberia-fallback-world.js +19 -209
- package/src/api/cyberia-instance/cyberia-instance.controller.js +14 -14
- package/src/api/cyberia-instance/cyberia-instance.model.js +3 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +22 -57
- package/src/api/cyberia-instance/cyberia-portal-connector.js +20 -246
- package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +10 -10
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +216 -55
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +4 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +18 -14
- package/src/api/cyberia-map/cyberia-map.controller.js +10 -10
- package/src/api/cyberia-map/cyberia-map.service.js +10 -10
- package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
- package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
- package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
- package/src/api/default/default.controller.js +10 -10
- package/src/api/default/default.service.js +10 -10
- package/src/api/document/document.controller.js +12 -12
- package/src/api/document/document.model.js +10 -16
- package/src/api/file/file.controller.js +8 -8
- package/src/api/file/file.model.js +10 -10
- package/src/api/file/file.service.js +36 -36
- package/src/api/instance/instance.controller.js +10 -10
- package/src/api/instance/instance.model.js +4 -10
- package/src/api/instance/instance.service.js +10 -10
- package/src/api/ipfs/ipfs.controller.js +12 -12
- package/src/api/ipfs/ipfs.model.js +4 -13
- package/src/api/ipfs/ipfs.service.js +14 -28
- package/src/api/object-layer/object-layer.controller.js +12 -12
- package/src/api/object-layer/object-layer.model.js +4 -17
- package/src/api/object-layer/object-layer.service.js +12 -12
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
- package/src/api/test/test.controller.js +8 -8
- package/src/api/test/test.service.js +8 -8
- package/src/api/user/guest.service.js +99 -0
- package/src/api/user/user.controller.js +6 -6
- package/src/api/user/user.model.js +8 -13
- package/src/api/user/user.service.js +3 -20
- package/src/cli/cluster.js +61 -14
- package/src/cli/db.js +47 -2
- package/src/cli/deploy.js +67 -35
- package/src/cli/fs.js +79 -8
- package/src/cli/image.js +43 -1
- package/src/cli/index.js +26 -1
- package/src/cli/release.js +57 -1
- package/src/cli/repository.js +69 -31
- package/src/cli/run.js +415 -36
- package/src/cli/ssh.js +1 -1
- package/src/cli/static.js +43 -115
- package/src/client/Cryptokoyn.index.js +18 -21
- package/src/client/CyberiaPortal.index.js +19 -23
- package/src/client/Default.index.js +21 -33
- package/src/client/Itemledger.index.js +20 -26
- package/src/client/Underpost.index.js +19 -23
- package/src/client/components/core/404.js +4 -4
- package/src/client/components/core/500.js +4 -4
- package/src/client/components/core/Account.js +73 -60
- package/src/client/components/core/AgGrid.js +23 -33
- package/src/client/components/core/Alert.js +12 -13
- package/src/client/components/core/AppStore.js +1 -1
- package/src/client/components/core/Auth.js +35 -37
- package/src/client/components/core/Badge.js +7 -13
- package/src/client/components/core/BtnIcon.js +15 -17
- package/src/client/components/core/CalendarCore.js +42 -63
- package/src/client/components/core/Chat.js +13 -15
- package/src/client/components/core/ClientEvents.js +87 -0
- package/src/client/components/core/ColorPaletteElement.js +309 -0
- package/src/client/components/core/Content.js +17 -14
- package/src/client/components/core/Css.js +15 -71
- package/src/client/components/core/CssCore.js +12 -16
- package/src/client/components/core/D3Chart.js +4 -4
- package/src/client/components/core/Docs.js +64 -91
- package/src/client/components/core/DropDown.js +69 -91
- package/src/client/components/core/EventBus.js +92 -0
- package/src/client/components/core/EventsUI.js +14 -17
- package/src/client/components/core/FileExplorer.js +96 -228
- package/src/client/components/core/FullScreen.js +47 -75
- package/src/client/components/core/Input.js +24 -69
- package/src/client/components/core/Keyboard.js +25 -18
- package/src/client/components/core/KeyboardAvoidance.js +145 -0
- package/src/client/components/core/LoadingAnimation.js +25 -31
- package/src/client/components/core/LogIn.js +41 -41
- package/src/client/components/core/LogOut.js +23 -14
- package/src/client/components/core/Modal.js +462 -178
- package/src/client/components/core/NotificationManager.js +14 -18
- package/src/client/components/core/Panel.js +54 -50
- package/src/client/components/core/PanelForm.js +25 -125
- package/src/client/components/core/Polyhedron.js +110 -214
- package/src/client/components/core/PublicProfile.js +39 -32
- package/src/client/components/core/Recover.js +48 -44
- package/src/client/components/core/Responsive.js +88 -32
- package/src/client/components/core/RichText.js +9 -18
- package/src/client/components/core/Router.js +24 -3
- package/src/client/components/core/SearchBox.js +37 -37
- package/src/client/components/core/SignUp.js +39 -30
- package/src/client/components/core/SocketIo.js +31 -2
- package/src/client/components/core/SocketIoHandler.js +6 -6
- package/src/client/components/core/ToggleSwitch.js +8 -20
- package/src/client/components/core/ToolTip.js +5 -17
- package/src/client/components/core/Translate.js +56 -59
- package/src/client/components/core/Validator.js +26 -16
- package/src/client/components/core/Wallet.js +15 -26
- package/src/client/components/core/Worker.js +163 -27
- package/src/client/components/core/windowGetDimensions.js +7 -7
- package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +57 -57
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
- package/src/client/components/cryptokoyn/LogInCryptokoyn.js +6 -4
- package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +6 -4
- package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
- package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
- package/src/client/components/cyberia/InstanceEngineCyberia.js +141 -60
- package/src/client/components/cyberia/MapEngineCyberia.js +691 -214
- package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +1204 -94
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +196 -298
- package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +102 -102
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +305 -61
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -4
- package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +87 -87
- package/src/client/components/default/CssDefault.js +12 -12
- package/src/client/components/default/LogInDefault.js +6 -4
- package/src/client/components/default/LogOutDefault.js +6 -4
- package/src/client/components/default/RouterDefault.js +47 -0
- package/src/client/components/default/SettingsDefault.js +4 -4
- package/src/client/components/default/SignUpDefault.js +6 -4
- package/src/client/components/default/TranslateDefault.js +3 -3
- package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +57 -57
- package/src/client/components/itemledger/CssItemledger.js +15 -15
- package/src/client/components/itemledger/LogInItemledger.js +6 -4
- package/src/client/components/itemledger/LogOutItemledger.js +6 -4
- package/src/client/components/itemledger/RouterItemledger.js +38 -0
- package/src/client/components/itemledger/SettingsItemledger.js +4 -4
- package/src/client/components/itemledger/SignUpItemledger.js +6 -4
- package/src/client/components/itemledger/TranslateItemledger.js +3 -3
- package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +88 -88
- package/src/client/components/underpost/CssUnderpost.js +14 -14
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
- package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
- package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
- package/src/client/components/underpost/LogInUnderpost.js +6 -4
- package/src/client/components/underpost/LogOutUnderpost.js +6 -4
- package/src/client/components/underpost/RouterUnderpost.js +45 -0
- package/src/client/components/underpost/SettingsUnderpost.js +4 -4
- package/src/client/components/underpost/SignUpUnderpost.js +6 -4
- package/src/client/components/underpost/TranslateUnderpost.js +4 -4
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
- package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
- package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
- package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
- package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
- package/src/client/services/core/core.service.js +17 -49
- package/src/client/services/crypto/crypto.service.js +8 -13
- package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
- package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +10 -16
- package/src/client/services/cyberia-entity/cyberia-entity.management.js +5 -5
- package/src/client/services/cyberia-entity/cyberia-entity.service.js +10 -16
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +6 -6
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +12 -18
- package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +10 -16
- package/src/client/services/cyberia-map/cyberia-map.management.js +6 -6
- package/src/client/services/cyberia-map/cyberia-map.service.js +12 -18
- package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
- package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
- package/src/client/services/default/default.management.js +159 -267
- package/src/client/services/default/default.service.js +10 -16
- package/src/client/services/document/document.service.js +14 -19
- package/src/client/services/file/file.service.js +8 -13
- package/src/client/services/instance/instance.management.js +5 -5
- package/src/client/services/instance/instance.service.js +10 -15
- package/src/client/services/ipfs/ipfs.service.js +12 -18
- package/src/client/services/object-layer/object-layer.management.js +12 -12
- package/src/client/services/object-layer/object-layer.service.js +20 -26
- package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
- package/src/client/services/test/test.service.js +8 -13
- package/src/client/services/user/guest.service.js +86 -0
- package/src/client/services/user/user.management.js +5 -5
- package/src/client/services/user/user.service.js +14 -20
- package/src/client/ssr/body/404.js +3 -3
- package/src/client/ssr/body/500.js +3 -3
- package/src/client/ssr/body/CacheControl.js +5 -2
- package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
- package/src/client/ssr/head/PwaItemledger.js +197 -60
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
- package/src/client/ssr/offline/Maintenance.js +12 -11
- package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
- package/src/client/ssr/pages/Test.js +2 -2
- package/src/client/sw/core.sw.js +212 -0
- package/src/grpc/cyberia/grpc-server.js +179 -67
- package/src/index.js +1 -1
- package/src/runtime/cyberia-client/Dockerfile +80 -0
- package/src/runtime/cyberia-server/Dockerfile +37 -0
- package/src/runtime/express/Dockerfile +4 -4
- package/src/runtime/lampp/Dockerfile +8 -7
- package/src/runtime/wp/Dockerfile +11 -17
- package/src/server/atlas-sprite-sheet-generator.js +4 -2
- package/src/server/client-build-docs.js +45 -46
- package/src/server/client-build.js +334 -60
- package/src/server/client-formatted.js +47 -16
- package/src/server/conf.js +5 -4
- package/src/server/data-query.js +32 -20
- package/src/server/dns.js +22 -0
- package/src/server/ipfs-client.js +232 -91
- package/src/server/object-layer.js +1 -6
- package/src/server/process.js +13 -27
- package/src/server/semantic-layer-generator-floor.js +11 -51
- package/src/server/semantic-layer-generator-resource.js +259 -0
- package/src/server/semantic-layer-generator-skin.js +41 -171
- package/src/server/semantic-layer-generator.js +122 -14
- package/src/server/shape-generator.js +108 -0
- package/src/server/start.js +17 -3
- package/src/server/valkey.js +141 -235
- package/tsconfig.docs.json +15 -0
- package/typedoc.dd-cyberia.json +29 -0
- package/typedoc.json +29 -0
- package/WHITE-PAPER.md +0 -1540
- package/hardhat/README.md +0 -531
- package/hardhat/WHITE-PAPER.md +0 -1540
- package/jsdoc.dd-cyberia.json +0 -68
- package/jsdoc.json +0 -68
- package/src/api/object-layer/README.md +0 -672
- package/src/client/components/core/ColorPalette.js +0 -5267
- package/src/client/components/core/JoyStick.js +0 -80
- package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -62
- package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
- package/src/client/components/default/RoutesDefault.js +0 -49
- package/src/client/components/itemledger/RoutesItemledger.js +0 -40
- package/src/client/components/underpost/RoutesUnderpost.js +0 -47
- package/src/client/sw/default.sw.js +0 -127
- package/src/client/sw/template.sw.js +0 -84
- package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +0 -305
- package/src/grpc/cyberia/README.md +0 -326
|
@@ -1,223 +1,467 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Shared Cyberia plain-data module.
|
|
3
|
+
* Keep this file free of runtime-specific imports so the same registry can be
|
|
4
|
+
* consumed by client, server, and CLI code.
|
|
5
|
+
*/
|
|
6
|
+
const ITEM_TYPES = Object.freeze({
|
|
7
|
+
skin: 'skin',
|
|
8
|
+
breastplate: 'breastplate',
|
|
9
|
+
weapon: 'weapon',
|
|
10
|
+
skill: 'skill',
|
|
11
|
+
coin: 'coin',
|
|
12
|
+
floor: 'floor',
|
|
13
|
+
obstacle: 'obstacle',
|
|
14
|
+
portal: 'portal',
|
|
15
|
+
foreground: 'foreground',
|
|
16
|
+
resource: 'resource',
|
|
17
|
+
});
|
|
18
|
+
const ENTITY_TYPES = Object.freeze({
|
|
19
|
+
player: 'player',
|
|
20
|
+
other_player: 'other_player',
|
|
21
|
+
bot: 'bot',
|
|
22
|
+
skill: 'skill',
|
|
23
|
+
coin: 'coin',
|
|
24
|
+
floor: 'floor',
|
|
25
|
+
obstacle: 'obstacle',
|
|
26
|
+
portal: 'portal',
|
|
27
|
+
foreground: 'foreground',
|
|
28
|
+
resource: 'resource',
|
|
29
|
+
});
|
|
30
|
+
const QUEST_STEPS_TYPES = Object.freeze(['collect', 'talk', 'kill']);
|
|
31
|
+
const CYBERIA_ACTION_TYPES = Object.freeze(['craft', 'shop', 'storage', 'quest-talk']);
|
|
32
|
+
const ENTITY_TYPE_TO_ITEM_TYPES = Object.freeze({
|
|
33
|
+
[ENTITY_TYPES.player]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.breastplate, ITEM_TYPES.weapon]),
|
|
34
|
+
[ENTITY_TYPES.other_player]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.breastplate, ITEM_TYPES.weapon]),
|
|
35
|
+
[ENTITY_TYPES.bot]: Object.freeze([ITEM_TYPES.skin, ITEM_TYPES.weapon]),
|
|
36
|
+
[ENTITY_TYPES.skill]: Object.freeze([ITEM_TYPES.skill]),
|
|
37
|
+
[ENTITY_TYPES.coin]: Object.freeze([ITEM_TYPES.coin]),
|
|
38
|
+
[ENTITY_TYPES.floor]: Object.freeze([ITEM_TYPES.floor]),
|
|
39
|
+
[ENTITY_TYPES.obstacle]: Object.freeze([ITEM_TYPES.obstacle]),
|
|
40
|
+
[ENTITY_TYPES.portal]: Object.freeze([ITEM_TYPES.portal]),
|
|
41
|
+
[ENTITY_TYPES.foreground]: Object.freeze([ITEM_TYPES.foreground]),
|
|
42
|
+
[ENTITY_TYPES.resource]: Object.freeze([ITEM_TYPES.resource]),
|
|
43
|
+
});
|
|
44
|
+
class CyberiaDependencies {
|
|
45
|
+
static 'maxrects-packer' = '^2.7.3';
|
|
46
|
+
static pngjs = '^7.0.0';
|
|
47
|
+
static jimp = '^1.6.0';
|
|
48
|
+
static sharp = '^0.34.5';
|
|
49
|
+
static ethers = '~6.16.0';
|
|
50
|
+
}
|
|
9
51
|
const DefaultCyberiaItems = [
|
|
10
|
-
{ item: { id: 'coin', type:
|
|
52
|
+
{ item: { id: 'coin', type: ITEM_TYPES.coin } },
|
|
11
53
|
// { item: { id: 'red-power', type: 'skill' } },
|
|
12
54
|
// { item: { id: 'heal', type: 'skill' } },
|
|
13
|
-
|
|
55
|
+
{ item: { id: 'hatchet-skill', type: ITEM_TYPES.skill } },
|
|
14
56
|
// { item: { id: 'green-power', type: 'skill' } },
|
|
15
57
|
// { item: { id: 'blood', type: 'skill' } },
|
|
16
|
-
{ item: { id: 'atlas_pistol_mk2', type:
|
|
17
|
-
{ item: { id: 'atlas_pistol_mk2_bullet', type:
|
|
18
|
-
|
|
19
|
-
{ item: { id: 'hatchet', type:
|
|
20
|
-
{ item: { id: 'wason', type:
|
|
21
|
-
{ item: { id: 'scp-2040', type:
|
|
22
|
-
{ item: { id: 'purple', type:
|
|
23
|
-
{ item: { id: 'punk', type:
|
|
58
|
+
{ item: { id: 'atlas_pistol_mk2', type: ITEM_TYPES.weapon } },
|
|
59
|
+
{ item: { id: 'atlas_pistol_mk2_bullet', type: ITEM_TYPES.skill } },
|
|
60
|
+
{ item: { id: 'tim-knife', type: ITEM_TYPES.weapon } },
|
|
61
|
+
{ item: { id: 'hatchet', type: ITEM_TYPES.weapon } },
|
|
62
|
+
{ item: { id: 'wason', type: ITEM_TYPES.skin } },
|
|
63
|
+
{ item: { id: 'scp-2040', type: ITEM_TYPES.skin } },
|
|
64
|
+
{ item: { id: 'purple', type: ITEM_TYPES.skin } },
|
|
65
|
+
{ item: { id: 'punk', type: ITEM_TYPES.skin } },
|
|
24
66
|
// { item: { id: 'marciano', type: 'skin' } },
|
|
25
|
-
{ item: { id: 'lain', type:
|
|
26
|
-
{ item: { id: 'kaneki', type:
|
|
27
|
-
{ item: { id: 'junko', type:
|
|
28
|
-
{ item: { id: 'ghost', type:
|
|
29
|
-
{ item: { id: 'eiri', type:
|
|
30
|
-
{ item: { id: 'anon', type:
|
|
31
|
-
{ item: { id: 'alex', type:
|
|
32
|
-
{ item: { id: 'agent', type:
|
|
33
|
-
{ item: { id: 'grass', type:
|
|
67
|
+
{ item: { id: 'lain', type: ITEM_TYPES.skin } },
|
|
68
|
+
{ item: { id: 'kaneki', type: ITEM_TYPES.skin } },
|
|
69
|
+
{ item: { id: 'junko', type: ITEM_TYPES.skin } },
|
|
70
|
+
{ item: { id: 'ghost', type: ITEM_TYPES.skin } },
|
|
71
|
+
{ item: { id: 'eiri', type: ITEM_TYPES.skin } },
|
|
72
|
+
{ item: { id: 'anon', type: ITEM_TYPES.skin } },
|
|
73
|
+
{ item: { id: 'alex', type: ITEM_TYPES.skin } },
|
|
74
|
+
{ item: { id: 'agent', type: ITEM_TYPES.skin } },
|
|
75
|
+
{ item: { id: 'grass', type: ITEM_TYPES.floor } },
|
|
34
76
|
];
|
|
35
|
-
|
|
77
|
+
const DEFAULT_CYBERIA_ITEM_BY_ID = Object.freeze(
|
|
78
|
+
DefaultCyberiaItems.reduce((acc, entry) => {
|
|
79
|
+
acc[entry.item.id] = entry;
|
|
80
|
+
return acc;
|
|
81
|
+
}, {}),
|
|
82
|
+
);
|
|
83
|
+
const getDefaultCyberiaItemById = (itemId) => DEFAULT_CYBERIA_ITEM_BY_ID[itemId] || null;
|
|
84
|
+
const getDefaultCyberiaItemsByItemType = (itemType) =>
|
|
85
|
+
DefaultCyberiaItems.filter((entry) => entry.item.type === itemType);
|
|
86
|
+
const getDefaultCyberiaItemsByEntityType = (entityType) => {
|
|
87
|
+
const allowedTypes = ENTITY_TYPE_TO_ITEM_TYPES[entityType] || [];
|
|
88
|
+
return DefaultCyberiaItems.filter((entry) => allowedTypes.includes(entry.item.type));
|
|
89
|
+
};
|
|
36
90
|
const DefaultSkillConfig = [
|
|
37
91
|
// { triggerItemId: 'anon', logicEventIds: ['doppelganger'] },
|
|
38
92
|
{
|
|
39
93
|
triggerItemId: 'atlas_pistol_mk2',
|
|
40
|
-
logicEventIds: ['
|
|
94
|
+
logicEventIds: ['projectile'],
|
|
41
95
|
},
|
|
42
96
|
{ triggerItemId: 'coin', logicEventIds: ['coin_drop_or_transaction'] },
|
|
43
97
|
// { triggerItemId: 'purple', logicEventIds: ['doppelganger'] },
|
|
44
98
|
// { triggerItemId: 'atlas_pistol_mk2_bullet', logicEventIds: ['doppelganger'] },
|
|
45
99
|
];
|
|
46
|
-
|
|
47
100
|
/**
|
|
48
101
|
* Default dialogue seeds for every non-commented entry in DefaultCyberiaItems.
|
|
49
|
-
* Each
|
|
50
|
-
*
|
|
102
|
+
* Each entry follows the CyberiaDialogue model schema:
|
|
103
|
+
* { code, order, speaker, text, mood }
|
|
104
|
+
*
|
|
105
|
+
* `code` is the primary grouping key (e.g. "default-lain"). The C client
|
|
106
|
+
* fetches all lines for a code with GET /api/cyberia-dialogue/code/:code.
|
|
51
107
|
*
|
|
52
108
|
* Used by the seed/migration script to populate the database on first boot.
|
|
53
|
-
* The C client fetches these at runtime via GET /api/cyberia-dialogue?...
|
|
54
109
|
*/
|
|
55
110
|
const DefaultCyberiaDialogues = [
|
|
56
111
|
{
|
|
57
|
-
|
|
112
|
+
code: 'default-coin',
|
|
58
113
|
order: 0,
|
|
59
114
|
speaker: 'Coin',
|
|
60
115
|
text: 'A standard unit of exchange in the cyberia network.',
|
|
61
116
|
mood: 'neutral',
|
|
62
117
|
},
|
|
63
118
|
{
|
|
64
|
-
|
|
119
|
+
code: 'default-atlas_pistol_mk2',
|
|
65
120
|
order: 0,
|
|
66
121
|
speaker: 'Atlas Pistol MK2',
|
|
67
122
|
text: 'Military-grade sidearm. Fires energy projectiles.',
|
|
68
123
|
mood: 'neutral',
|
|
69
124
|
},
|
|
70
125
|
{
|
|
71
|
-
|
|
126
|
+
code: 'default-atlas_pistol_mk2_bullet',
|
|
72
127
|
order: 0,
|
|
73
128
|
speaker: 'MK2 Bullet',
|
|
74
129
|
text: 'High-velocity energy round. Dissipates on impact.',
|
|
75
130
|
mood: 'neutral',
|
|
76
131
|
},
|
|
77
132
|
{
|
|
78
|
-
|
|
133
|
+
code: 'default-hatchet',
|
|
79
134
|
order: 0,
|
|
80
135
|
speaker: 'Hatchet',
|
|
81
136
|
text: 'A crude but reliable melee tool. Good for close quarters.',
|
|
82
137
|
mood: 'neutral',
|
|
83
138
|
},
|
|
84
139
|
{
|
|
85
|
-
|
|
140
|
+
code: 'default-wason',
|
|
86
141
|
order: 0,
|
|
87
142
|
speaker: 'Wason',
|
|
88
143
|
text: 'They say I am just a wandering merchant... but I have seen things.',
|
|
89
144
|
mood: 'neutral',
|
|
90
145
|
},
|
|
91
146
|
{
|
|
92
|
-
|
|
147
|
+
code: 'default-wason',
|
|
93
148
|
order: 1,
|
|
94
149
|
speaker: 'Wason',
|
|
95
150
|
text: 'The network was not always like this. There was a time before the portals.',
|
|
96
151
|
mood: 'sad',
|
|
97
152
|
},
|
|
98
153
|
{
|
|
99
|
-
|
|
154
|
+
code: 'default-scp-2040',
|
|
100
155
|
order: 0,
|
|
101
156
|
speaker: 'SCP-2040',
|
|
102
157
|
text: 'CONTAINMENT PROTOCOL ACTIVE. Do not make direct eye contact.',
|
|
103
158
|
mood: 'angry',
|
|
104
159
|
},
|
|
105
160
|
{
|
|
106
|
-
|
|
161
|
+
code: 'default-scp-2040',
|
|
107
162
|
order: 1,
|
|
108
163
|
speaker: 'SCP-2040',
|
|
109
164
|
text: 'I remember everything. Every iteration. Every reset.',
|
|
110
165
|
mood: 'sad',
|
|
111
166
|
},
|
|
112
167
|
{
|
|
113
|
-
|
|
168
|
+
code: 'default-purple',
|
|
114
169
|
order: 0,
|
|
115
170
|
speaker: 'Purple',
|
|
116
171
|
text: 'The void between nodes is not empty — it is alive.',
|
|
117
172
|
mood: 'neutral',
|
|
118
173
|
},
|
|
119
174
|
{
|
|
120
|
-
|
|
175
|
+
code: 'default-punk',
|
|
121
176
|
order: 0,
|
|
122
177
|
speaker: 'Punk',
|
|
123
178
|
text: 'Rules are just code someone else wrote. I write my own.',
|
|
124
179
|
mood: 'happy',
|
|
125
180
|
},
|
|
126
181
|
{
|
|
127
|
-
|
|
182
|
+
code: 'default-lain',
|
|
128
183
|
order: 0,
|
|
129
184
|
speaker: 'Lain',
|
|
130
185
|
text: 'No matter where you go, everyone is connected.',
|
|
131
186
|
mood: 'neutral',
|
|
132
187
|
},
|
|
133
188
|
{
|
|
134
|
-
|
|
189
|
+
code: 'default-lain',
|
|
135
190
|
order: 1,
|
|
136
191
|
speaker: 'Lain',
|
|
137
192
|
text: 'If you are not remembered, then you never existed.',
|
|
138
193
|
mood: 'sad',
|
|
139
194
|
},
|
|
140
195
|
{
|
|
141
|
-
|
|
196
|
+
code: 'default-lain',
|
|
142
197
|
order: 2,
|
|
143
198
|
speaker: 'Lain',
|
|
144
199
|
text: 'The wired is not a separate world. It is layered over this one.',
|
|
145
200
|
mood: 'neutral',
|
|
146
201
|
},
|
|
147
202
|
{
|
|
148
|
-
|
|
203
|
+
code: 'default-kaneki',
|
|
149
204
|
order: 0,
|
|
150
205
|
speaker: 'Kaneki',
|
|
151
206
|
text: 'I am not the protagonist of a novel. I am just... me.',
|
|
152
207
|
mood: 'sad',
|
|
153
208
|
},
|
|
154
|
-
{ itemId: 'kaneki', order: 1, speaker: 'Kaneki', text: 'What is 1000 minus 7?', mood: 'angry' },
|
|
155
|
-
{ itemId: 'junko', order: 0, speaker: 'Junko', text: 'Despair is the seed from which hope blooms!', mood: 'happy' },
|
|
156
209
|
{
|
|
157
|
-
|
|
210
|
+
code: 'default-kaneki',
|
|
211
|
+
order: 1,
|
|
212
|
+
speaker: 'Kaneki',
|
|
213
|
+
text: 'What is 1000 minus 7?',
|
|
214
|
+
mood: 'angry',
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
code: 'default-junko',
|
|
218
|
+
order: 0,
|
|
219
|
+
speaker: 'Junko',
|
|
220
|
+
text: 'Despair is the seed from which hope blooms!',
|
|
221
|
+
mood: 'happy',
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
code: 'default-junko',
|
|
158
225
|
order: 1,
|
|
159
226
|
speaker: 'Junko',
|
|
160
227
|
text: 'How boring... nothing ever surprises me anymore.',
|
|
161
228
|
mood: 'sad',
|
|
162
229
|
},
|
|
163
|
-
{
|
|
230
|
+
{ code: 'default-ghost', order: 0, speaker: 'Ghost', text: '...', mood: 'neutral' },
|
|
164
231
|
{
|
|
165
|
-
|
|
232
|
+
code: 'default-eiri',
|
|
166
233
|
order: 0,
|
|
167
234
|
speaker: 'Eiri',
|
|
168
235
|
text: 'I am the god of the wired. I designed the protocol.',
|
|
169
236
|
mood: 'neutral',
|
|
170
237
|
},
|
|
171
238
|
{
|
|
172
|
-
|
|
239
|
+
code: 'default-eiri',
|
|
173
240
|
order: 1,
|
|
174
241
|
speaker: 'Eiri',
|
|
175
242
|
text: 'Flesh is just hardware. Consciousness is the only software that matters.',
|
|
176
243
|
mood: 'neutral',
|
|
177
244
|
},
|
|
178
|
-
{ itemId: 'anon', order: 0, speaker: '???', text: 'You should not be here. Turn back.', mood: 'angry' },
|
|
179
245
|
{
|
|
180
|
-
|
|
246
|
+
code: 'default-anon',
|
|
247
|
+
order: 0,
|
|
248
|
+
speaker: '???',
|
|
249
|
+
text: 'You should not be here. Turn back.',
|
|
250
|
+
mood: 'angry',
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
code: 'default-anon',
|
|
181
254
|
order: 1,
|
|
182
255
|
speaker: '???',
|
|
183
256
|
text: 'Or stay. It does not matter. Nothing leaves this place.',
|
|
184
257
|
mood: 'neutral',
|
|
185
258
|
},
|
|
186
259
|
{
|
|
187
|
-
|
|
260
|
+
code: 'default-alex',
|
|
188
261
|
order: 0,
|
|
189
262
|
speaker: 'Alex',
|
|
190
263
|
text: 'I have been mapping the portal network. Something does not add up.',
|
|
191
264
|
mood: 'neutral',
|
|
192
265
|
},
|
|
193
266
|
{
|
|
194
|
-
|
|
267
|
+
code: 'default-alex',
|
|
195
268
|
order: 1,
|
|
196
269
|
speaker: 'Alex',
|
|
197
270
|
text: 'There are nodes that exist in the registry but have no physical anchor.',
|
|
198
271
|
mood: 'neutral',
|
|
199
272
|
},
|
|
200
273
|
{
|
|
201
|
-
|
|
274
|
+
code: 'default-agent',
|
|
202
275
|
order: 0,
|
|
203
276
|
speaker: 'Agent',
|
|
204
277
|
text: 'Civilian, this area is restricted. State your business.',
|
|
205
278
|
mood: 'neutral',
|
|
206
279
|
},
|
|
207
280
|
{
|
|
208
|
-
|
|
281
|
+
code: 'default-agent',
|
|
209
282
|
order: 1,
|
|
210
283
|
speaker: 'Agent',
|
|
211
284
|
text: 'Hmm. Proceed, but know that you are being watched.',
|
|
212
285
|
mood: 'neutral',
|
|
213
286
|
},
|
|
214
287
|
{
|
|
215
|
-
|
|
288
|
+
code: 'default-grass',
|
|
216
289
|
order: 0,
|
|
217
290
|
speaker: 'Grass',
|
|
218
291
|
text: 'A patch of synthetic grass. It sways gently despite no wind.',
|
|
219
292
|
mood: 'neutral',
|
|
220
293
|
},
|
|
294
|
+
// ── Quest-talk dialogue lines ────────────────────────────────────────────
|
|
295
|
+
{
|
|
296
|
+
code: 'quest-talk-wason',
|
|
297
|
+
order: 0,
|
|
298
|
+
speaker: 'Wason',
|
|
299
|
+
text: 'Wanderer! Glad you stopped by. I need a favor — nothing dangerous... mostly.',
|
|
300
|
+
mood: 'happy',
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
code: 'quest-talk-wason',
|
|
304
|
+
order: 1,
|
|
305
|
+
speaker: 'Wason',
|
|
306
|
+
text: "First, find Alex — she's been surveying the nodes east of here. Then gather a hatchet for me.",
|
|
307
|
+
mood: 'neutral',
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
code: 'quest-talk-wason',
|
|
311
|
+
order: 2,
|
|
312
|
+
speaker: 'Wason',
|
|
313
|
+
text: 'And one more thing: the SCP-2040 anomalies are overrunning my trade routes. Deal with two of them.',
|
|
314
|
+
mood: 'sad',
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
code: 'quest-talk-alex',
|
|
318
|
+
order: 0,
|
|
319
|
+
speaker: 'Alex',
|
|
320
|
+
text: "Wason sent you? Good. The portal anomalies are getting worse. I've logged what I can.",
|
|
321
|
+
mood: 'neutral',
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
code: 'quest-talk-alex',
|
|
325
|
+
order: 1,
|
|
326
|
+
speaker: 'Alex',
|
|
327
|
+
text: 'Tell Wason: the source is somewhere in the deeper nodes. The registry does not lie.',
|
|
328
|
+
mood: 'neutral',
|
|
329
|
+
},
|
|
330
|
+
];
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* Default action catalog — provide base metadata default actions,
|
|
334
|
+
* this provide for entities dynamicaale match when init instance init x and init y
|
|
335
|
+
* positions of entitie for the fallback world or custom instance, and seed dialogue
|
|
336
|
+
* for quest-talk actions.
|
|
337
|
+
*
|
|
338
|
+
* type values: 'quest-talk' | 'shop' | 'craft' | 'storage'
|
|
339
|
+
* dialogCode: General-purpose default dialogue opened for this action
|
|
340
|
+
* (any action type). Used as the immediate greeting/intro.
|
|
341
|
+
* questDialogueCodes: Ordered list of CyberiaDialogue codes that must be
|
|
342
|
+
* completed (in sequence) to satisfy quest-talk step
|
|
343
|
+
* validation. Distinct from dialogCode — for simple
|
|
344
|
+
* actions they may overlap; for multi-stage quests they
|
|
345
|
+
* can diverge.
|
|
346
|
+
* is completed. Empty string = no quest granted.
|
|
347
|
+
*/
|
|
348
|
+
const DefaultCyberiaActions = [
|
|
349
|
+
{
|
|
350
|
+
code: 'wason-quest-intro',
|
|
351
|
+
type: 'quest-talk',
|
|
352
|
+
label: 'Quest',
|
|
353
|
+
provideItemId: 'wason',
|
|
354
|
+
grantQuestCode: 'fallback-intro-quest',
|
|
355
|
+
dialogCode: 'quest-talk-wason',
|
|
356
|
+
questDialogueCodes: ['quest-talk-wason'],
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
code: 'alex-quest-talk',
|
|
360
|
+
type: 'quest-talk',
|
|
361
|
+
label: 'Quest Talk',
|
|
362
|
+
provideItemId: 'alex',
|
|
363
|
+
grantQuestCode: '',
|
|
364
|
+
dialogCode: 'quest-talk-alex',
|
|
365
|
+
questDialogueCodes: ['quest-talk-alex'],
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
code: 'agent-mission-brief',
|
|
369
|
+
type: 'quest-talk',
|
|
370
|
+
label: 'Mission Brief',
|
|
371
|
+
provideItemId: 'agent',
|
|
372
|
+
grantQuestCode: 'bounty-quest-alpha',
|
|
373
|
+
dialogCode: 'default-agent',
|
|
374
|
+
questDialogueCodes: ['default-agent'],
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
code: 'wason-bounty-brief',
|
|
378
|
+
type: 'quest-talk',
|
|
379
|
+
label: 'Bounty Brief',
|
|
380
|
+
provideItemId: 'wason',
|
|
381
|
+
grantQuestCode: '',
|
|
382
|
+
dialogCode: 'quest-talk-wason',
|
|
383
|
+
questDialogueCodes: ['quest-talk-wason'],
|
|
384
|
+
},
|
|
385
|
+
];
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Default quest definitions for the fallback world.
|
|
389
|
+
* Mirrors the CyberiaQuestSchema.
|
|
390
|
+
*
|
|
391
|
+
* Objective types:
|
|
392
|
+
* 'talk' — itemId = provideItemId of the NPC to interact with
|
|
393
|
+
* 'collect' — itemId = item to receive in inventory; quantity = amount
|
|
394
|
+
* 'kill' — itemId = entity skin itemId; quantity = kill count
|
|
395
|
+
*
|
|
396
|
+
*/
|
|
397
|
+
const DefaultCyberiaQuests = [
|
|
398
|
+
{
|
|
399
|
+
code: 'fallback-intro-quest',
|
|
400
|
+
title: "The Wanderer's Task",
|
|
401
|
+
description: 'Help Wason restore order to the fractured nodes.',
|
|
402
|
+
prerequisiteCodes: [],
|
|
403
|
+
unlocksQuestCodes: ['bounty-quest-alpha'],
|
|
404
|
+
steps: [
|
|
405
|
+
{
|
|
406
|
+
id: 'step-talk-alex',
|
|
407
|
+
description: 'Find Alex and hear her report on the portal anomalies.',
|
|
408
|
+
objectives: [{ type: 'talk', itemId: 'alex', quantity: 1 }],
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
id: 'step-collect-hatchet',
|
|
412
|
+
description: 'Obtain a hatchet for Wason.',
|
|
413
|
+
objectives: [{ type: 'collect', itemId: 'hatchet', quantity: 1 }],
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
id: 'step-kill-scp',
|
|
417
|
+
description: 'Eliminate SCP-2040 anomalies threatening the trade routes.',
|
|
418
|
+
objectives: [{ type: 'kill', itemId: 'scp-2040', quantity: 2 }],
|
|
419
|
+
},
|
|
420
|
+
],
|
|
421
|
+
rewards: [{ itemId: 'coin', quantity: 50 }],
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
// Second quest: exercises all step types in a different order (kill → collect → talk).
|
|
425
|
+
// Unlocked automatically after completing fallback-intro-quest.
|
|
426
|
+
code: 'bounty-quest-alpha',
|
|
427
|
+
title: 'Alpha Bounty',
|
|
428
|
+
description: 'A field test: eliminate a threat, claim your reward, then report back.',
|
|
429
|
+
prerequisiteCodes: ['fallback-intro-quest'],
|
|
430
|
+
unlocksQuestCodes: [],
|
|
431
|
+
steps: [
|
|
432
|
+
{
|
|
433
|
+
id: 'step-kill-first',
|
|
434
|
+
description: 'Eliminate the SCP-2040 threat.',
|
|
435
|
+
objectives: [{ type: 'kill', itemId: 'scp-2040', quantity: 1 }],
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
id: 'step-collect-reward',
|
|
439
|
+
description: 'Collect the bounty coin drop.',
|
|
440
|
+
objectives: [{ type: 'collect', itemId: 'coin', quantity: 10 }],
|
|
441
|
+
},
|
|
442
|
+
{
|
|
443
|
+
id: 'step-report-wason',
|
|
444
|
+
description: 'Report back to Wason.',
|
|
445
|
+
objectives: [{ type: 'talk', itemId: 'wason', quantity: 1 }],
|
|
446
|
+
},
|
|
447
|
+
],
|
|
448
|
+
rewards: [{ itemId: 'hatchet', quantity: 1 }],
|
|
449
|
+
},
|
|
221
450
|
];
|
|
222
451
|
|
|
223
|
-
export {
|
|
452
|
+
export {
|
|
453
|
+
ITEM_TYPES,
|
|
454
|
+
ENTITY_TYPES,
|
|
455
|
+
ENTITY_TYPE_TO_ITEM_TYPES,
|
|
456
|
+
QUEST_STEPS_TYPES,
|
|
457
|
+
CYBERIA_ACTION_TYPES,
|
|
458
|
+
getDefaultCyberiaItemById,
|
|
459
|
+
getDefaultCyberiaItemsByItemType,
|
|
460
|
+
getDefaultCyberiaItemsByEntityType,
|
|
461
|
+
CyberiaDependencies,
|
|
462
|
+
DefaultCyberiaItems,
|
|
463
|
+
DefaultSkillConfig,
|
|
464
|
+
DefaultCyberiaDialogues,
|
|
465
|
+
DefaultCyberiaActions,
|
|
466
|
+
DefaultCyberiaQuests,
|
|
467
|
+
};
|
|
@@ -195,11 +195,11 @@ const CssCommonCyberia = async () => {
|
|
|
195
195
|
<div class="ag-grid-style"></div>`;
|
|
196
196
|
};
|
|
197
197
|
|
|
198
|
-
|
|
199
|
-
theme
|
|
200
|
-
dark
|
|
201
|
-
barButtonsIconTheme
|
|
202
|
-
render
|
|
198
|
+
class CssCyberiaDark {
|
|
199
|
+
static theme = 'cyberia-dark';
|
|
200
|
+
static dark = true;
|
|
201
|
+
static barButtonsIconTheme = 'img';
|
|
202
|
+
static render = async () => {
|
|
203
203
|
return (
|
|
204
204
|
(await CssCommonCyberia()) +
|
|
205
205
|
html`
|
|
@@ -219,14 +219,14 @@ const CssCyberiaDark = {
|
|
|
219
219
|
${borderChar(2, `#ffcc00`, ['.default-slide-menu-top-bar-fix-title-container-text'])}
|
|
220
220
|
`
|
|
221
221
|
);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
theme
|
|
227
|
-
dark
|
|
228
|
-
barButtonsIconTheme
|
|
229
|
-
render
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
class CssCyberiaLight {
|
|
226
|
+
static theme = 'cyberia-light';
|
|
227
|
+
static dark = false;
|
|
228
|
+
static barButtonsIconTheme = 'img';
|
|
229
|
+
static render = async () => {
|
|
230
230
|
return (
|
|
231
231
|
(await CssCommonCyberia()) +
|
|
232
232
|
html`
|
|
@@ -248,7 +248,7 @@ const CssCyberiaLight = {
|
|
|
248
248
|
${borderChar(1, `#010101`, ['button', '.a-btn'], true)}
|
|
249
249
|
`
|
|
250
250
|
);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
253
|
|
|
254
254
|
export { CssCyberiaDark, CssCommonCyberia, CssCyberiaLight };
|
|
@@ -4,16 +4,18 @@ import { s } from '../core/VanillaJs.js';
|
|
|
4
4
|
import { AppStoreCyberiaPortal } from './AppStoreCyberiaPortal.js';
|
|
5
5
|
import { ObjectLayerManagement } from '../../services/object-layer/object-layer.management.js';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
class LogInCyberiaPortal {
|
|
8
|
+
static async instance() {
|
|
9
|
+
LogIn.onLogin(async (options) => {
|
|
9
10
|
const { token, user } = options;
|
|
10
11
|
|
|
11
12
|
AppStoreCyberiaPortal.Data.user.main.model.user = user;
|
|
12
13
|
|
|
13
14
|
await ObjectLayerManagement.Reload('viewer');
|
|
14
|
-
};
|
|
15
|
+
}, { key: 'LogInCyberiaPortal' });
|
|
15
16
|
const { user } = await Auth.sessionIn();
|
|
16
17
|
AppStoreCyberiaPortal.Data.user.main.model.user = user;
|
|
17
|
-
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
18
20
|
|
|
19
21
|
export { LogInCyberiaPortal };
|
|
@@ -3,12 +3,14 @@ import { s } from '../core/VanillaJs.js';
|
|
|
3
3
|
import { AppStoreCyberiaPortal } from './AppStoreCyberiaPortal.js';
|
|
4
4
|
import { ObjectLayerManagement } from '../../services/object-layer/object-layer.management.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
class LogOutCyberiaPortal {
|
|
7
|
+
static async instance() {
|
|
8
|
+
LogOut.onLogout(async (result = { user: { _id: '' } }) => {
|
|
8
9
|
AppStoreCyberiaPortal.Data.user.main.model.user = result.user;
|
|
9
10
|
s(`.main-btn-admin`).classList.add('hide');
|
|
10
11
|
await ObjectLayerManagement.Reload('viewer');
|
|
11
|
-
};
|
|
12
|
-
}
|
|
12
|
+
}, { key: 'LogOutCyberiaPortal' });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
13
15
|
|
|
14
16
|
export { LogOutCyberiaPortal };
|
|
@@ -3,8 +3,8 @@ import { EventsUI } from '../core/EventsUI.js';
|
|
|
3
3
|
import { getProxyPath } from '../core/Router.js';
|
|
4
4
|
import { htmls, s } from '../core/VanillaJs.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
class MainBodyCyberiaPortal {
|
|
7
|
+
static async instance() {
|
|
8
8
|
setTimeout(() => {
|
|
9
9
|
EventsUI.onClick('.cta-button', () => {
|
|
10
10
|
console.log('Enter the world button clicked');
|
|
@@ -280,7 +280,7 @@ const MainBodyCyberiaPortal = {
|
|
|
280
280
|
</footer>
|
|
281
281
|
</div>
|
|
282
282
|
`;
|
|
283
|
-
}
|
|
284
|
-
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
285
|
|
|
286
286
|
export { MainBodyCyberiaPortal };
|