├── .babelrc ├── .dockerignore ├── .env.example ├── .eslintignore ├── .eslintrc.json ├── .gitignore ├── .husky └── pre-commit ├── .nvmrc ├── .prettierignore ├── LICENSE ├── README.md ├── docs ├── README.md ├── classes │ ├── Backend_GameLogic_CaptureZoneGenerator.CaptureZoneGenerator.md │ ├── Backend_GameLogic_ContractsAPI.ContractsAPI.md │ ├── Backend_GameLogic_GameManager.default.md │ ├── Backend_GameLogic_GameObjects.GameObjects.md │ ├── Backend_GameLogic_GameUIManager.default.md │ ├── Backend_GameLogic_InitialGameStateDownloader.InitialGameStateDownloader.md │ ├── Backend_GameLogic_LayeredMap.LayeredMap.md │ ├── Backend_GameLogic_PluginManager.PluginManager.md │ ├── Backend_GameLogic_PluginManager.ProcessInfo.md │ ├── Backend_GameLogic_TutorialManager.default.md │ ├── Backend_GameLogic_ViewportEntities.ViewportEntities.md │ ├── Backend_Miner_MinerManager.HomePlanetMinerChunkStore.md │ ├── Backend_Miner_MinerManager.default.md │ ├── Backend_Miner_MiningPatterns.SpiralPattern.md │ ├── Backend_Miner_MiningPatterns.SwissCheesePattern.md │ ├── Backend_Miner_MiningPatterns.TowardsCenterPattern.md │ ├── Backend_Miner_MiningPatterns.TowardsCenterPatternV2.md │ ├── Backend_Network_EventLogger.EventLogger.md │ ├── Backend_Storage_PersistentChunkStore.default.md │ ├── Backend_Storage_ReaderDataStore.default.md │ ├── Backend_Utils_SnarkArgsHelper.default.md │ ├── Backend_Utils_Wrapper.Wrapper.md │ ├── Frontend_Components_Btn.DarkForestButton.md │ ├── Frontend_Components_Btn.DarkForestShortcutButton.md │ ├── Frontend_Components_Btn.ShortcutPressedEvent.md │ ├── Frontend_Components_Input.DarkForestCheckbox.md │ ├── Frontend_Components_Input.DarkForestColorInput.md │ ├── Frontend_Components_Input.DarkForestNumberInput.md │ ├── Frontend_Components_Input.DarkForestTextInput.md │ ├── Frontend_Components_Modal.DarkForestModal.md │ ├── Frontend_Components_Modal.PositionChangedEvent.md │ ├── Frontend_Components_Slider.DarkForestSlider.md │ ├── Frontend_Components_Slider.DarkForestSliderHandle.md │ ├── Frontend_Game_ModalManager.default.md │ ├── Frontend_Game_NotificationManager.default.md │ ├── Frontend_Game_Viewport.default.md │ ├── Frontend_Panes_Lobbies_Reducer.InvalidConfigError.md │ ├── Frontend_Renderers_Artifacts_ArtifactRenderer.ArtifactRenderer.md │ ├── Frontend_Renderers_GifRenderer.GifRenderer.md │ ├── Frontend_Utils_UIEmitter.default.md │ ├── Frontend_Views_DFErrorBoundary.DFErrorBoundary.md │ └── Frontend_Views_GenericErrorBoundary.GenericErrorBoundary.md ├── enums │ ├── Backend_GameLogic_GameManager.GameManagerEvent.md │ ├── Backend_GameLogic_GameUIManager.GameUIManagerEvent.md │ ├── Backend_GameLogic_TutorialManager.TutorialManagerEvent.md │ ├── Backend_GameLogic_TutorialManager.TutorialState.md │ ├── Backend_Miner_MinerManager.MinerManagerEvent.md │ ├── Backend_Miner_MiningPatterns.MiningPatternType.md │ ├── Backend_Network_EventLogger.EventType.md │ ├── Backend_Network_UtilityServerAPI.EmailResponse.md │ ├── Backend_Storage_ReaderDataStore.SinglePlanetDataStoreEvent.md │ ├── Frontend_Components_Email.EmailCTAMode.md │ ├── Frontend_Components_GameLandingPageComponents.InitRenderState.md │ ├── Frontend_Game_NotificationManager.NotificationManagerEvent.md │ ├── Frontend_Game_NotificationManager.NotificationType.md │ ├── Frontend_Pages_LandingPage.LandingPageZIndex.md │ ├── Frontend_Pages_UnsubscribePage.LandingPageZIndex.md │ ├── Frontend_Utils_BrowserChecks.Incompatibility.md │ ├── Frontend_Utils_TerminalTypes.TerminalTextStyle.md │ ├── Frontend_Utils_UIEmitter.UIEmitterEvent.md │ ├── Frontend_Utils_constants.DFZIndex.md │ ├── Frontend_Views_PlanetNotifications.PlanetNotifType.md │ ├── types_darkforest_api_ContractsAPITypes.ContractEvent.md │ ├── types_darkforest_api_ContractsAPITypes.ContractsAPIEvent.md │ ├── types_darkforest_api_ContractsAPITypes.InitArgIdxs.md │ ├── types_darkforest_api_ContractsAPITypes.MoveArgIdxs.md │ ├── types_darkforest_api_ContractsAPITypes.PlanetEventType.md │ ├── types_darkforest_api_ContractsAPITypes.UpgradeArgIdxs.md │ ├── types_darkforest_api_ContractsAPITypes.ZKArgIdx.md │ └── types_global_GlobalTypes.StatIdx.md ├── interfaces │ ├── Backend_GameLogic_ArrivalUtils.PlanetDiff.md │ ├── Backend_GameLogic_InitialGameStateDownloader.InitialGameState.md │ ├── Backend_Miner_MiningPatterns.MiningPattern.md │ ├── Backend_Network_AccountManager.Account.md │ ├── Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md │ ├── Backend_Plugins_PluginProcess.PluginProcess.md │ ├── Backend_Plugins_SerializedPlugin.SerializedPlugin.md │ ├── Frontend_Components_TextLoadingBar.LoadingBarHandle.md │ ├── Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md │ ├── Frontend_Panes_Tooltip.TooltipProps.md │ ├── Frontend_Panes_Tooltip.TooltipTriggerProps.md │ ├── Frontend_Utils_EmitterUtils.Diff.md │ ├── Frontend_Views_ModalPane.ModalFrame.md │ ├── Frontend_Views_ModalPane.ModalHandle.md │ ├── Frontend_Views_Share.ShareProps.md │ ├── Frontend_Views_Terminal.TerminalHandle.md │ ├── Frontend_Views_Terminal.TerminalProps.md │ ├── types_darkforest_api_ChunkStoreTypes.ChunkStore.md │ ├── types_darkforest_api_ChunkStoreTypes.PersistedChunk.md │ ├── types_darkforest_api_ChunkStoreTypes.PersistedLocation.md │ ├── types_darkforest_api_ContractsAPITypes.ContractConstants.md │ ├── types_global_GlobalTypes.ClaimCountdownInfo.md │ ├── types_global_GlobalTypes.MinerWorkerMessage.md │ └── types_global_GlobalTypes.RevealCountdownInfo.md └── modules │ ├── Backend_GameLogic_ArrivalUtils.md │ ├── Backend_GameLogic_CaptureZoneGenerator.md │ ├── Backend_GameLogic_ContractsAPI.md │ ├── Backend_GameLogic_GameManager.md │ ├── Backend_GameLogic_GameObjects.md │ ├── Backend_GameLogic_GameUIManager.md │ ├── Backend_GameLogic_InitialGameStateDownloader.md │ ├── Backend_GameLogic_LayeredMap.md │ ├── Backend_GameLogic_PluginManager.md │ ├── Backend_GameLogic_TutorialManager.md │ ├── Backend_GameLogic_ViewportEntities.md │ ├── Backend_Miner_ChunkUtils.md │ ├── Backend_Miner_MinerManager.md │ ├── Backend_Miner_MiningPatterns.md │ ├── Backend_Miner_permutation.md │ ├── Backend_Network_AccountManager.md │ ├── Backend_Network_Blockchain.md │ ├── Backend_Network_EventLogger.md │ ├── Backend_Network_LeaderboardApi.md │ ├── Backend_Network_MessageAPI.md │ ├── Backend_Network_NetworkHealthApi.md │ ├── Backend_Network_UtilityServerAPI.md │ ├── Backend_Plugins_EmbeddedPluginLoader.md │ ├── Backend_Plugins_PluginProcess.md │ ├── Backend_Plugins_PluginTemplate.md │ ├── Backend_Plugins_SerializedPlugin.md │ ├── Backend_Storage_PersistentChunkStore.md │ ├── Backend_Storage_ReaderDataStore.md │ ├── Backend_Utils_Animation.md │ ├── Backend_Utils_Coordinates.md │ ├── Backend_Utils_SnarkArgsHelper.md │ ├── Backend_Utils_Utils.md │ ├── Backend_Utils_WhitelistSnarkArgsHelper.md │ ├── Backend_Utils_Wrapper.md │ ├── Frontend_Components_AncientLabel.md │ ├── Frontend_Components_ArtifactImage.md │ ├── Frontend_Components_BiomeAnims.md │ ├── Frontend_Components_Btn.md │ ├── Frontend_Components_Button.md │ ├── Frontend_Components_CapturePlanetButton.md │ ├── Frontend_Components_CoreUI.md │ ├── Frontend_Components_Corner.md │ ├── Frontend_Components_DisplayGasPrices.md │ ├── Frontend_Components_Email.md │ ├── Frontend_Components_GameLandingPageComponents.md │ ├── Frontend_Components_GameWindowComponents.md │ ├── Frontend_Components_Icons.md │ ├── Frontend_Components_Input.md │ ├── Frontend_Components_Labels_ArtifactLabels.md │ ├── Frontend_Components_Labels_BiomeLabels.md │ ├── Frontend_Components_Labels_KeywordLabels.md │ ├── Frontend_Components_Labels_Labels.md │ ├── Frontend_Components_Labels_LavaLabel.md │ ├── Frontend_Components_Labels_LegendaryLabel.md │ ├── Frontend_Components_Labels_MythicLabel.md │ ├── Frontend_Components_Labels_PlanetLabels.md │ ├── Frontend_Components_Labels_SpacetimeRipLabel.md │ ├── Frontend_Components_Labels_WastelandLabel.md │ ├── Frontend_Components_LoadingSpinner.md │ ├── Frontend_Components_MaybeShortcutButton.md │ ├── Frontend_Components_MineArtifactButton.md │ ├── Frontend_Components_Modal.md │ ├── Frontend_Components_OpenPaneButtons.md │ ├── Frontend_Components_PluginModal.md │ ├── Frontend_Components_ReadMore.md │ ├── Frontend_Components_RemoteModal.md │ ├── Frontend_Components_Row.md │ ├── Frontend_Components_Slider.md │ ├── Frontend_Components_Text.md │ ├── Frontend_Components_TextLoadingBar.md │ ├── Frontend_Components_TextPreview.md │ ├── Frontend_Components_Theme.md │ ├── Frontend_Components_TimeUntil.md │ ├── Frontend_Game_ControllableCanvas.md │ ├── Frontend_Game_ModalManager.md │ ├── Frontend_Game_NotificationManager.md │ ├── Frontend_Game_Popups.md │ ├── Frontend_Game_Viewport.md │ ├── Frontend_Pages_App.md │ ├── Frontend_Pages_CreateLobby.md │ ├── Frontend_Pages_EventsPage.md │ ├── Frontend_Pages_GameLandingPage.md │ ├── Frontend_Pages_GifMaker.md │ ├── Frontend_Pages_LandingPage.md │ ├── Frontend_Pages_LoadingPage.md │ ├── Frontend_Pages_LobbyLandingPage.md │ ├── Frontend_Pages_NotFoundPage.md │ ├── Frontend_Pages_ShareArtifact.md │ ├── Frontend_Pages_SharePlanet.md │ ├── Frontend_Pages_TestArtifactImages.md │ ├── Frontend_Pages_TxConfirmPopup.md │ ├── Frontend_Pages_UnsubscribePage.md │ ├── Frontend_Pages_ValhallaPage.md │ ├── Frontend_Panes_ArtifactCard.md │ ├── Frontend_Panes_ArtifactDetailsPane.md │ ├── Frontend_Panes_ArtifactHoverPane.md │ ├── Frontend_Panes_ArtifactsList.md │ ├── Frontend_Panes_BroadcastPane.md │ ├── Frontend_Panes_CoordsPane.md │ ├── Frontend_Panes_DiagnosticsPane.md │ ├── Frontend_Panes_ExplorePane.md │ ├── Frontend_Panes_HatPane.md │ ├── Frontend_Panes_HelpPane.md │ ├── Frontend_Panes_HoverPane.md │ ├── Frontend_Panes_HoverPlanetPane.md │ ├── Frontend_Panes_Lobbies_AdminPermissionsPane.md │ ├── Frontend_Panes_Lobbies_ArtifactSettingsPane.md │ ├── Frontend_Panes_Lobbies_CaptureZonesPane.md │ ├── Frontend_Panes_Lobbies_ConfigurationPane.md │ ├── Frontend_Panes_Lobbies_GameSettingsPane.md │ ├── Frontend_Panes_Lobbies_LobbiesUtils.md │ ├── Frontend_Panes_Lobbies_MinimapPane.md │ ├── Frontend_Panes_Lobbies_MinimapUtils.md │ ├── Frontend_Panes_Lobbies_PlanetPane.md │ ├── Frontend_Panes_Lobbies_PlayerSpawnPane.md │ ├── Frontend_Panes_Lobbies_Reducer.md │ ├── Frontend_Panes_Lobbies_SnarkPane.md │ ├── Frontend_Panes_Lobbies_SpaceJunkPane.md │ ├── Frontend_Panes_Lobbies_SpaceTypeBiomePane.md │ ├── Frontend_Panes_Lobbies_WorldSizePane.md │ ├── Frontend_Panes_ManagePlanetArtifacts_ArtifactActions.md │ ├── Frontend_Panes_ManagePlanetArtifacts_ManageArtifacts.md │ ├── Frontend_Panes_ManagePlanetArtifacts_ManagePlanetArtifactsPane.md │ ├── Frontend_Panes_ManagePlanetArtifacts_SortBy.md │ ├── Frontend_Panes_ManagePlanetArtifacts_UpgradeStatsView.md │ ├── Frontend_Panes_OnboardingPane.md │ ├── Frontend_Panes_PlanetContextPane.md │ ├── Frontend_Panes_PlanetDexPane.md │ ├── Frontend_Panes_PlanetInfoPane.md │ ├── Frontend_Panes_PlayerArtifactsPane.md │ ├── Frontend_Panes_PluginEditorPane.md │ ├── Frontend_Panes_PluginLibraryPane.md │ ├── Frontend_Panes_PrivatePane.md │ ├── Frontend_Panes_SettingsPane.md │ ├── Frontend_Panes_Tooltip.md │ ├── Frontend_Panes_TooltipPanes.md │ ├── Frontend_Panes_TransactionLogPane.md │ ├── Frontend_Panes_TutorialPane.md │ ├── Frontend_Panes_TwitterVerifyPane.md │ ├── Frontend_Panes_UpgradeDetailsPane.md │ ├── Frontend_Panes_WikiPane.md │ ├── Frontend_Panes_ZoomPane.md │ ├── Frontend_Renderers_Artifacts_ArtifactRenderer.md │ ├── Frontend_Renderers_GifRenderer.md │ ├── Frontend_Renderers_LandingPageCanvas.md │ ├── Frontend_Renderers_PlanetscapeRenderer_PlanetIcons.md │ ├── Frontend_Styles_Colors.md │ ├── Frontend_Styles_Mixins.md │ ├── Frontend_Styles_dfstyles.md │ ├── Frontend_Utils_AppHooks.md │ ├── Frontend_Utils_BrowserChecks.md │ ├── Frontend_Utils_EmitterHooks.md │ ├── Frontend_Utils_EmitterUtils.md │ ├── Frontend_Utils_Hooks.md │ ├── Frontend_Utils_KeyEmitters.md │ ├── Frontend_Utils_SettingsHooks.md │ ├── Frontend_Utils_ShortcutConstants.md │ ├── Frontend_Utils_TerminalTypes.md │ ├── Frontend_Utils_TimeUtils.md │ ├── Frontend_Utils_UIEmitter.md │ ├── Frontend_Utils_constants.md │ ├── Frontend_Utils_createDefinedContext.md │ ├── Frontend_Views_ArtifactLink.md │ ├── Frontend_Views_ArtifactRow.md │ ├── Frontend_Views_CadetWormhole.md │ ├── Frontend_Views_DFErrorBoundary.md │ ├── Frontend_Views_DarkForestTips.md │ ├── Frontend_Views_EmojiPicker.md │ ├── Frontend_Views_EmojiPlanetNotification.md │ ├── Frontend_Views_GameWindowLayout.md │ ├── Frontend_Views_GenericErrorBoundary.md │ ├── Frontend_Views_LandingPageRoundArt.md │ ├── Frontend_Views_Leaderboard.md │ ├── Frontend_Views_ModalIcon.md │ ├── Frontend_Views_ModalPane.md │ ├── Frontend_Views_NetworkHealth.md │ ├── Frontend_Views_Notifications.md │ ├── Frontend_Views_Paused.md │ ├── Frontend_Views_PlanetCard.md │ ├── Frontend_Views_PlanetCardComponents.md │ ├── Frontend_Views_PlanetLink.md │ ├── Frontend_Views_PlanetNotifications.md │ ├── Frontend_Views_SendResources.md │ ├── Frontend_Views_Share.md │ ├── Frontend_Views_SidebarPane.md │ ├── Frontend_Views_SortableTable.md │ ├── Frontend_Views_TabbedView.md │ ├── Frontend_Views_Table.md │ ├── Frontend_Views_Terminal.md │ ├── Frontend_Views_TopBar.md │ ├── Frontend_Views_UpgradePreview.md │ ├── Frontend_Views_WithdrawSilver.md │ ├── types_darkforest_api_ChunkStoreTypes.md │ ├── types_darkforest_api_ContractsAPITypes.md │ ├── types_darkforest_api_UtilityServerAPITypes.md │ ├── types_file_loader_FileWorkerTypes.__darkforest_eth_contracts_abis___json_.md │ ├── types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___wasm_.md │ ├── types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___zkey_.md │ ├── types_file_loader_FileWorkerTypes.md │ └── types_global_GlobalTypes.md ├── embedded_plugins ├── Admin-Controls.ts ├── Getting-Started.ts ├── Highlight-Buffs.js ├── Map-Export-Filter.js ├── Metrics.ts ├── Performance-Optimiser.js ├── Remote-Explorer.ts ├── Repeat-Attack.js ├── Upgrade-Manager.js └── Voyage-Time.js ├── img ├── link.png ├── log_in.png ├── look.png ├── netlify_deploy.png ├── netlify_import.png ├── netlify_prod_deploy.png ├── site_id.png └── stop_auto_publishing.png ├── index.html ├── last_updated.txt ├── lightforest.toml ├── netlify.toml ├── package.json ├── plugins ├── CircleAfter.png ├── CircleBefore.png ├── DisableAfter.png ├── DisableBefore.png ├── PluginTemplate.ts ├── README.md ├── RendererPlugin.md └── square.png ├── public ├── CCapture.all.min.js ├── favicon.ico ├── favicons.ico │ ├── android-icon-144x144.png │ ├── android-icon-192x192.png │ ├── android-icon-36x36.png │ ├── android-icon-48x48.png │ ├── android-icon-72x72.png │ ├── android-icon-96x96.png │ ├── apple-icon-114x114.png │ ├── apple-icon-120x120.png │ ├── apple-icon-144x144.png │ ├── apple-icon-152x152.png │ ├── apple-icon-180x180.png │ ├── apple-icon-57x57.png │ ├── apple-icon-60x60.png │ ├── apple-icon-72x72.png │ ├── apple-icon-76x76.png │ ├── apple-icon-precomposed.png │ ├── apple-icon.png │ ├── browserconfig.xml │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── ms-icon-144x144.png │ ├── ms-icon-150x150.png │ ├── ms-icon-310x310.png │ └── ms-icon-70x70.png ├── get_involved │ ├── WTGI_full.png │ ├── community_round.png │ ├── lobby.png │ ├── plugin_render.png │ ├── reveiw_plugin.png │ └── write_plugin.png ├── icons │ ├── alerts │ │ ├── artifacts │ │ │ ├── find.svg │ │ │ └── prospect.svg │ │ ├── backgrounds │ │ │ ├── 1.svg │ │ │ └── 2.svg │ │ ├── biomes │ │ │ ├── corrupted.svg │ │ │ ├── desert.svg │ │ │ ├── forest.svg │ │ │ ├── grassland.svg │ │ │ ├── ice.svg │ │ │ ├── lava.svg │ │ │ ├── ocean.svg │ │ │ ├── swamp.svg │ │ │ ├── tundra.svg │ │ │ └── wasteland.svg │ │ ├── borders │ │ │ ├── 1.svg │ │ │ └── 2.svg │ │ ├── combat │ │ │ ├── metplayer.svg │ │ │ ├── pirates.svg │ │ │ ├── planetattacked.svg │ │ │ ├── planetlost.svg │ │ │ ├── planetsupported.svg │ │ │ ├── planetwon.svg │ │ │ └── playerfound.svg │ │ ├── generic │ │ │ └── generic.svg │ │ ├── planettypes │ │ │ ├── asteroid.svg │ │ │ ├── planet.svg │ │ │ ├── quasar.svg │ │ │ ├── ruins.svg │ │ │ └── tradingpost.svg │ │ ├── spacetypes │ │ │ ├── alert_-19.svg │ │ │ ├── deadspace.svg │ │ │ ├── deepspace.svg │ │ │ └── space.svg │ │ └── transactions │ │ │ ├── accepted.svg │ │ │ ├── confirmed.svg │ │ │ ├── declined.svg │ │ │ └── initialized.svg │ ├── arrow-right.svg │ ├── broadcast.svg │ ├── crown-round.svg │ ├── crown.svg │ ├── gclogo.svg │ ├── help.svg │ ├── leaderboard.svg │ ├── pause.svg │ ├── pirates.svg │ ├── planet-empty.svg │ ├── planet.svg │ ├── planetdex.svg │ ├── play.svg │ ├── population.svg │ ├── populationgrowth.svg │ ├── range.svg │ ├── rank1.svg │ ├── rank2.svg │ ├── rank3.svg │ ├── silver.svg │ ├── silver2.svg │ ├── silvergrowth.svg │ ├── star.svg │ ├── target.svg │ ├── twitter.svg │ └── upgrade.svg ├── img │ ├── 404-text.png │ ├── LandingPageGrid.svg │ ├── cadet-wormhole.png │ ├── deathstar.png │ ├── destroyedbg.png │ ├── epicbattle.jpg │ ├── no-contract-text.png │ ├── spacebg.jpg │ ├── texture.jpg │ ├── toodamnhigh.jpg │ ├── tutorial-banner.png │ ├── v05-cpc.png │ └── wrong-text.png ├── manifest.json ├── og_image.png ├── ready-alert.mp3 ├── robots.txt ├── round_art │ ├── arena.jpg │ ├── galacticleague.jpg │ ├── grandprix.png │ ├── round3.jpg │ ├── round4.jpg │ └── round5.jpg ├── snarkjs.min.js └── sprites │ ├── artifacts.png │ ├── artifactthumbs.png │ └── glass.png ├── src ├── Backend │ ├── GameLogic │ │ ├── ArenaCreationManager.ts │ │ ├── ArrivalUtils.ts │ │ ├── CaptureZoneGenerator.ts │ │ ├── ContractsAPI.ts │ │ ├── GameManager.ts │ │ ├── GameObjects.ts │ │ ├── GameUIManager.ts │ │ ├── InitialGameStateDownloader.tsx │ │ ├── LayeredMap.ts │ │ ├── PluginManager.tsx │ │ ├── TutorialManager.ts │ │ └── ViewportEntities.ts │ ├── Miner │ │ ├── ChunkUtils.ts │ │ ├── MinerManager.ts │ │ ├── MiningPatterns.ts │ │ ├── PlanetUtils.ts │ │ ├── miner.worker.ts │ │ └── permutation.ts │ ├── Network │ │ ├── AccountManager.ts │ │ ├── Blockchain.ts │ │ ├── EventLogger.ts │ │ ├── GraphApi.ts │ │ ├── GraphApi │ │ │ ├── AccountApi.ts │ │ │ ├── ArenaLeaderboardApi.ts │ │ │ ├── ConfigApi.ts │ │ │ ├── EloLeaderboardApi.ts │ │ │ ├── LeaderboardApi.ts │ │ │ ├── MapsApi.ts │ │ │ └── SpyApi.ts │ │ ├── MessageAPI.ts │ │ ├── NetworkHealthApi.ts │ │ └── UtilityServerAPI.ts │ ├── Plugins │ │ ├── EmbeddedPluginLoader.ts │ │ ├── PluginProcess.ts │ │ ├── PluginTemplate.ts │ │ └── SerializedPlugin.ts │ ├── Storage │ │ ├── PersistentChunkStore.ts │ │ └── ReaderDataStore.ts │ └── Utils │ │ ├── Animation.ts │ │ ├── Coordinates.ts │ │ ├── Rank.ts │ │ ├── SnarkArgsHelper.ts │ │ ├── Utils.ts │ │ ├── WhitelistSnarkArgsHelper.ts │ │ ├── Wrapper.ts │ │ └── minimap.worker.ts ├── Frontend │ ├── Components │ │ ├── ArtifactImage.tsx │ │ ├── BiomeAnims.tsx │ │ ├── Btn.tsx │ │ ├── Button.tsx │ │ ├── CapturePlanetButton.tsx │ │ ├── CopyableInput.tsx │ │ ├── CoreUI.tsx │ │ ├── Corner.tsx │ │ ├── DisplayGasPrices.tsx │ │ ├── Dropdown.tsx │ │ ├── Email.tsx │ │ ├── GameLandingPageComponents.tsx │ │ ├── GameWindowComponents.tsx │ │ ├── Icons.tsx │ │ ├── Input.tsx │ │ ├── Labels │ │ │ ├── AncientLabel.tsx │ │ │ ├── ArtifactLabels.tsx │ │ │ ├── BiomeLabels.tsx │ │ │ ├── KeywordLabels.tsx │ │ │ ├── Labels.tsx │ │ │ ├── LavaLabel.tsx │ │ │ ├── LegendaryLabel.tsx │ │ │ ├── ModifierLabels.tsx │ │ │ ├── MythicLabel.tsx │ │ │ ├── PlanetLabels.tsx │ │ │ ├── SpaceshipLabel.tsx │ │ │ ├── SpacetimeRipLabel.tsx │ │ │ └── WastelandLabel.tsx │ │ ├── LoadingSpinner.tsx │ │ ├── LobbyButton.tsx │ │ ├── LobbyCreationPlanetInspector.tsx │ │ ├── LobbyPlanetPropEditor.tsx │ │ ├── MaybeShortcutButton.tsx │ │ ├── MineArtifactButton.tsx │ │ ├── Minimap.tsx │ │ ├── MinimapEditor.tsx │ │ ├── Modal.tsx │ │ ├── OpenPaneButtons.tsx │ │ ├── PluginModal.tsx │ │ ├── ReadMore.tsx │ │ ├── RemoteModal.tsx │ │ ├── Row.tsx │ │ ├── Sidebar.tsx │ │ ├── Slider.tsx │ │ ├── TargetPlanetButton.tsx │ │ ├── Text.tsx │ │ ├── TextLoadingBar.tsx │ │ ├── TextPreview.tsx │ │ ├── Theme.tsx │ │ └── TimeUntil.tsx │ ├── EntryPoints │ │ └── index.tsx │ ├── Game │ │ ├── ControllableCanvas.tsx │ │ ├── ModalManager.ts │ │ ├── NotificationManager.tsx │ │ ├── Popups.ts │ │ └── Viewport.ts │ ├── Pages │ │ ├── App.tsx │ │ ├── EntryPage.tsx │ │ ├── Game │ │ │ └── GameLandingPage.tsx │ │ ├── GifMaker.tsx │ │ ├── LoadingPage.tsx │ │ ├── NotFoundPage.tsx │ │ ├── ShareArtifact.tsx │ │ ├── SharePlanet.tsx │ │ ├── TestArtifactImages.tsx │ │ └── TxConfirmPopup.tsx │ ├── Panes │ │ ├── Game │ │ │ ├── ArtifactCard.tsx │ │ │ ├── ArtifactDetailsPane.tsx │ │ │ ├── ArtifactHoverPane.tsx │ │ │ ├── ArtifactsList.tsx │ │ │ ├── BroadcastPane.tsx │ │ │ ├── CoordsPane.tsx │ │ │ ├── DiagnosticsPane.tsx │ │ │ ├── ExplorePane.tsx │ │ │ ├── HatPane.tsx │ │ │ ├── HelpPane.tsx │ │ │ ├── HoverPane.tsx │ │ │ ├── HoverPlanetPane.tsx │ │ │ ├── PlanetContextPane.tsx │ │ │ ├── PlanetDexPane.tsx │ │ │ ├── PlanetInfoPane.tsx │ │ │ ├── PlayerArtifactsPane.tsx │ │ │ ├── PluginEditorPane.tsx │ │ │ ├── PluginLibraryPane.tsx │ │ │ ├── PrivatePane.tsx │ │ │ ├── SettingsPane.tsx │ │ │ ├── SidebarPane.tsx │ │ │ ├── SurveyPane.tsx │ │ │ ├── TooltipPanes.tsx │ │ │ ├── TransactionLogPane.tsx │ │ │ ├── TutorialPane.tsx │ │ │ ├── TwitterVerifyPane.tsx │ │ │ ├── UpgradeDetailsPane.tsx │ │ │ └── WaitingRoomPane.tsx │ │ ├── Lobby │ │ │ ├── AdminPermissionsPane.tsx │ │ │ ├── ArtifactSettingsPane.tsx │ │ │ ├── CaptureZonesPane.tsx │ │ │ ├── GameModePane.tsx │ │ │ ├── GameSettingsPane.tsx │ │ │ ├── LobbiesUtils.tsx │ │ │ ├── MinimapPane.tsx │ │ │ ├── MinimapUtils.ts │ │ │ ├── PlanetListPane.tsx │ │ │ ├── PlanetPane.tsx │ │ │ ├── PlayerSpawnPane.tsx │ │ │ ├── Reducer.ts │ │ │ ├── SnarkPane.tsx │ │ │ ├── SpaceJunkPane.tsx │ │ │ ├── SpaceTypeBiomePane.tsx │ │ │ ├── SpaceshipsPane.tsx │ │ │ ├── TargetPlanetPane.tsx │ │ │ ├── TeamsPane.tsx │ │ │ ├── WhitelistPane.tsx │ │ │ └── WorldSizePane.tsx │ │ ├── ManagePlanetArtifacts │ │ │ ├── ArtifactActions.tsx │ │ │ ├── ManageArtifacts.tsx │ │ │ ├── ManagePlanetArtifactsPane.tsx │ │ │ ├── SortBy.tsx │ │ │ └── UpgradeStatsView.tsx │ │ ├── Tooltip.tsx │ │ ├── WikiPane.tsx │ │ └── ZoomPane.tsx │ ├── Renderers │ │ ├── Artifacts │ │ │ └── ArtifactRenderer.ts │ │ ├── GifRenderer.ts │ │ ├── LandingPageCanvas.tsx │ │ └── PlanetscapeRenderer │ │ │ └── PlanetIcons.tsx │ ├── Styles │ │ ├── Colors.tsx │ │ ├── Mixins.tsx │ │ ├── dfstyles.ts │ │ ├── font │ │ │ ├── generator_config.txt │ │ │ ├── perfect_dos_vga_437-demo.html │ │ │ ├── perfect_dos_vga_437-webfont.woff │ │ │ ├── perfect_dos_vga_437-webfont.woff2 │ │ │ ├── specimen_files │ │ │ │ ├── grid_12-825-55-15.css │ │ │ │ └── specimen_stylesheet.css │ │ │ └── stylesheet.css │ │ ├── icomoon │ │ │ ├── fonts │ │ │ │ ├── icomoon.eot │ │ │ │ ├── icomoon.svg │ │ │ │ ├── icomoon.ttf │ │ │ │ └── icomoon.woff │ │ │ └── style.css │ │ ├── lightforest.scss │ │ ├── preflight.css │ │ └── style.css │ ├── Utils │ │ ├── AppHooks.ts │ │ ├── BrowserChecks.ts │ │ ├── EmitterHooks.ts │ │ ├── EmitterUtils.ts │ │ ├── Hooks.tsx │ │ ├── KeyEmitters.ts │ │ ├── SettingsHooks.tsx │ │ ├── ShortcutConstants.ts │ │ ├── StockConfigs.ts │ │ ├── TerminalTypes.ts │ │ ├── TimeUtils.ts │ │ ├── UIEmitter.ts │ │ ├── constants.ts │ │ ├── createDefinedContext.ts │ │ └── helpers.ts │ └── Views │ │ ├── CadetWormhole.tsx │ │ ├── DFErrorBoundary.tsx │ │ ├── DarkForestTips.tsx │ │ ├── EmojiPicker.tsx │ │ ├── Game │ │ ├── ArtifactLink.tsx │ │ ├── ArtifactRow.tsx │ │ ├── EmojiPlanetNotification.tsx │ │ ├── Gameover.tsx │ │ ├── ModalPane.tsx │ │ ├── NetworkHealth.tsx │ │ ├── Notifications.tsx │ │ ├── Paused.tsx │ │ ├── PlanetCard.tsx │ │ ├── PlanetLink.tsx │ │ ├── Play.tsx │ │ ├── SendResources.tsx │ │ ├── Share.tsx │ │ ├── TopBar.tsx │ │ └── WithdrawSilver.tsx │ │ ├── GameWindowLayout.tsx │ │ ├── GenericErrorBoundary.tsx │ │ ├── LandingPageRoundArt.tsx │ │ ├── Leaderboards │ │ ├── ArenaLeaderboard.tsx │ │ └── Leaderboard.tsx │ │ ├── ModalIcon.tsx │ │ ├── PlanetCardComponents.tsx │ │ ├── PlanetNotifications.tsx │ │ ├── Portal │ │ ├── Account.tsx │ │ ├── ConfigDetails.tsx │ │ ├── Home.tsx │ │ ├── MapConfigDisplay.tsx │ │ ├── MapDetails.tsx │ │ ├── MapOverview.tsx │ │ └── PortalUtils.ts │ │ ├── SortableTable.tsx │ │ ├── TabbedView.tsx │ │ ├── Table.tsx │ │ ├── TargetPlanetVictory.tsx │ │ ├── Terminal.tsx │ │ ├── Timer.tsx │ │ └── UpgradePreview.tsx └── _types │ ├── darkforest │ └── api │ │ ├── ChunkStoreTypes.ts │ │ ├── ContractsAPITypes.ts │ │ └── UtilityServerAPITypes.ts │ ├── file-loader │ └── FileWorkerTypes.ts │ └── global │ ├── GlobalTypes.ts │ └── global.d.ts ├── tsconfig.decs.json ├── tsconfig.json ├── tsconfig.ref.json ├── webpack.config.ts └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-env", 4 | "@babel/preset-react", 5 | [ 6 | "@babel/preset-typescript", 7 | { 8 | "optimizeConstEnums": true 9 | } 10 | ] 11 | ], 12 | "plugins": ["babel-plugin-styled-components"] 13 | } 14 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | 2 | 3 | # This is Local Optimism 4 | 5 | # DEFAULT_RPC=http://164.92.84.78:8545/ 6 | 7 | # This is HTTP Gnosis Optimism 8 | 9 | # DEFAULT_RPC=https://optimism.gnosischain.com/ 10 | 11 | # This is WS Kovan Optimism 12 | 13 | # DEFAULT_RPC=wss://ws-kovan.optimism.io 14 | 15 | DEFAULT_RPC=https://optimism.gnosischain.com/ 16 | 17 | # Removing this value will disable all webserver calls in the client 18 | 19 | # DF_WEBSERVER_URL=http://localhost:3000/ 20 | 21 | # DF_WEBSERVER_URL=https://api.zkga.me/ 22 | 23 | DF_TWITTER_URL=https://api.zkga.me 24 | 25 | # FAUCET_URL=http://localhost:3000/ 26 | 27 | FAUCET_URL=https://faucet.dfdao.xyz 28 | 29 | DFDAO_WEBSERVER_URL=https://dynasty-worker.dfdao-dynasty.workers.dev 30 | 31 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | public/ 2 | declarations/ 3 | dist/ 4 | plugins/ 5 | embedded_plugins/ -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["react-hooks", "@typescript-eslint"], 3 | "extends": [ 4 | "plugin:@typescript-eslint/eslint-recommended", 5 | "plugin:@typescript-eslint/recommended" 6 | ], 7 | "parser": "@typescript-eslint/parser", 8 | "parserOptions": { 9 | "ecmaVersion": 6, 10 | "sourceType": "module" 11 | }, 12 | "env": { 13 | "browser": true, 14 | "node": true 15 | }, 16 | "rules": { 17 | "react-hooks/rules-of-hooks": "error", 18 | "react-hooks/exhaustive-deps": [ 19 | "warn", 20 | { 21 | "additionalHooks": "useRecoilCallback" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | 6 | # production 7 | /dist 8 | 9 | # misc 10 | .DS_Store 11 | 12 | npm-debug.log* 13 | yarn-debug.log* 14 | yarn-error.log* 15 | 16 | # firebase 17 | .firebase 18 | 19 | # local image files for testing 20 | public/img/artifacts 21 | 22 | declarations 23 | tsconfig.ref.tsbuildinfo 24 | 25 | # Local Netlify folder 26 | .netlify 27 | 28 | # Environment variables 29 | .env 30 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | yarn lint-staged 5 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 16 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | declarations/ 3 | plugins/dist/ 4 | embedded_plugins/dist/ 5 | public/ 6 | src/styles/font/ 7 | src/styles/icomoon/ 8 | embedded_plugins/Remote-Explorer.ts 9 | embedded_plugins/Renderer-Showcase.ts 10 | -------------------------------------------------------------------------------- /docs/classes/Backend_GameLogic_PluginManager.ProcessInfo.md: -------------------------------------------------------------------------------- 1 | # Class: ProcessInfo 2 | 3 | [Backend/GameLogic/PluginManager](../modules/Backend_GameLogic_PluginManager.md).ProcessInfo 4 | 5 | Represents book-keeping information about a running process. We keep it 6 | separate from the process code, so that the plugin doesn't accidentally 7 | overwrite this information. 8 | 9 | ## Table of contents 10 | 11 | ### Constructors 12 | 13 | - [constructor](Backend_GameLogic_PluginManager.ProcessInfo.md#constructor) 14 | 15 | ### Properties 16 | 17 | - [hasError](Backend_GameLogic_PluginManager.ProcessInfo.md#haserror) 18 | - [rendered](Backend_GameLogic_PluginManager.ProcessInfo.md#rendered) 19 | 20 | ## Constructors 21 | 22 | ### constructor 23 | 24 | • **new ProcessInfo**() 25 | 26 | ## Properties 27 | 28 | ### hasError 29 | 30 | • **hasError**: `boolean` = `false` 31 | 32 | --- 33 | 34 | ### rendered 35 | 36 | • **rendered**: `boolean` = `false` 37 | -------------------------------------------------------------------------------- /docs/classes/Backend_Utils_Wrapper.Wrapper.md: -------------------------------------------------------------------------------- 1 | # Class: Wrapper 2 | 3 | [Backend/Utils/Wrapper](../modules/Backend_Utils_Wrapper.md).Wrapper 4 | 5 | React uses referential identity to detect changes, and rerender. Rather 6 | than copying an object into a new object, to force a rerender, we can 7 | just wrap it in a new {@code Wrapper}, which will force a rerender. 8 | 9 | ## Type parameters 10 | 11 | | Name | 12 | | :--- | 13 | | `T` | 14 | 15 | ## Table of contents 16 | 17 | ### Constructors 18 | 19 | - [constructor](Backend_Utils_Wrapper.Wrapper.md#constructor) 20 | 21 | ### Properties 22 | 23 | - [value](Backend_Utils_Wrapper.Wrapper.md#value) 24 | 25 | ## Constructors 26 | 27 | ### constructor 28 | 29 | • **new Wrapper**<`T`\>(`value`) 30 | 31 | #### Type parameters 32 | 33 | | Name | 34 | | :--- | 35 | | `T` | 36 | 37 | #### Parameters 38 | 39 | | Name | Type | 40 | | :------ | :--- | 41 | | `value` | `T` | 42 | 43 | ## Properties 44 | 45 | ### value 46 | 47 | • `Readonly` **value**: `T` 48 | -------------------------------------------------------------------------------- /docs/classes/Frontend_Components_Btn.ShortcutPressedEvent.md: -------------------------------------------------------------------------------- 1 | # Class: ShortcutPressedEvent 2 | 3 | [Frontend/Components/Btn](../modules/Frontend_Components_Btn.md).ShortcutPressedEvent 4 | 5 | ## Hierarchy 6 | 7 | - `Event` 8 | 9 | ↳ **`ShortcutPressedEvent`** 10 | 11 | ## Table of contents 12 | 13 | ### Constructors 14 | 15 | - [constructor](Frontend_Components_Btn.ShortcutPressedEvent.md#constructor) 16 | 17 | ## Constructors 18 | 19 | ### constructor 20 | 21 | • **new ShortcutPressedEvent**() 22 | 23 | #### Overrides 24 | 25 | Event.constructor 26 | -------------------------------------------------------------------------------- /docs/classes/Frontend_Components_Modal.PositionChangedEvent.md: -------------------------------------------------------------------------------- 1 | # Class: PositionChangedEvent 2 | 3 | [Frontend/Components/Modal](../modules/Frontend_Components_Modal.md).PositionChangedEvent 4 | 5 | ## Hierarchy 6 | 7 | - `Event` 8 | 9 | ↳ **`PositionChangedEvent`** 10 | 11 | ## Table of contents 12 | 13 | ### Constructors 14 | 15 | - [constructor](Frontend_Components_Modal.PositionChangedEvent.md#constructor) 16 | 17 | ### Properties 18 | 19 | - [coords](Frontend_Components_Modal.PositionChangedEvent.md#coords) 20 | 21 | ## Constructors 22 | 23 | ### constructor 24 | 25 | • **new PositionChangedEvent**(`x`, `y`) 26 | 27 | #### Parameters 28 | 29 | | Name | Type | 30 | | :--- | :------- | 31 | | `x` | `number` | 32 | | `y` | `number` | 33 | 34 | #### Overrides 35 | 36 | Event.constructor 37 | 38 | ## Properties 39 | 40 | ### coords 41 | 42 | • **coords**: `Coords` 43 | -------------------------------------------------------------------------------- /docs/classes/Frontend_Panes_Lobbies_Reducer.InvalidConfigError.md: -------------------------------------------------------------------------------- 1 | # Class: InvalidConfigError 2 | 3 | [Frontend/Panes/Lobbies/Reducer](../modules/Frontend_Panes_Lobbies_Reducer.md).InvalidConfigError 4 | 5 | ## Hierarchy 6 | 7 | - `Error` 8 | 9 | ↳ **`InvalidConfigError`** 10 | 11 | ## Table of contents 12 | 13 | ### Constructors 14 | 15 | - [constructor](Frontend_Panes_Lobbies_Reducer.InvalidConfigError.md#constructor) 16 | 17 | ### Properties 18 | 19 | - [key](Frontend_Panes_Lobbies_Reducer.InvalidConfigError.md#key) 20 | - [value](Frontend_Panes_Lobbies_Reducer.InvalidConfigError.md#value) 21 | 22 | ## Constructors 23 | 24 | ### constructor 25 | 26 | • **new InvalidConfigError**(`msg`, `key`, `value`) 27 | 28 | #### Parameters 29 | 30 | | Name | Type | 31 | | :------ | :-------- | 32 | | `msg` | `string` | 33 | | `key` | `string` | 34 | | `value` | `unknown` | 35 | 36 | #### Overrides 37 | 38 | Error.constructor 39 | 40 | ## Properties 41 | 42 | ### key 43 | 44 | • **key**: `string` 45 | 46 | --- 47 | 48 | ### value 49 | 50 | • **value**: `unknown` 51 | -------------------------------------------------------------------------------- /docs/enums/Backend_GameLogic_GameUIManager.GameUIManagerEvent.md: -------------------------------------------------------------------------------- 1 | # Enumeration: GameUIManagerEvent 2 | 3 | [Backend/GameLogic/GameUIManager](../modules/Backend_GameLogic_GameUIManager.md).GameUIManagerEvent 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [InitializedPlayer](Backend_GameLogic_GameUIManager.GameUIManagerEvent.md#initializedplayer) 10 | - [InitializedPlayerError](Backend_GameLogic_GameUIManager.GameUIManagerEvent.md#initializedplayererror) 11 | 12 | ## Enumeration members 13 | 14 | ### InitializedPlayer 15 | 16 | • **InitializedPlayer** = `"InitializedPlayer"` 17 | 18 | --- 19 | 20 | ### InitializedPlayerError 21 | 22 | • **InitializedPlayerError** = `"InitializedPlayerError"` 23 | -------------------------------------------------------------------------------- /docs/enums/Backend_GameLogic_TutorialManager.TutorialManagerEvent.md: -------------------------------------------------------------------------------- 1 | # Enumeration: TutorialManagerEvent 2 | 3 | [Backend/GameLogic/TutorialManager](../modules/Backend_GameLogic_TutorialManager.md).TutorialManagerEvent 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [StateChanged](Backend_GameLogic_TutorialManager.TutorialManagerEvent.md#statechanged) 10 | 11 | ## Enumeration members 12 | 13 | ### StateChanged 14 | 15 | • **StateChanged** = `"StateChanged"` 16 | -------------------------------------------------------------------------------- /docs/enums/Backend_Miner_MinerManager.MinerManagerEvent.md: -------------------------------------------------------------------------------- 1 | # Enumeration: MinerManagerEvent 2 | 3 | [Backend/Miner/MinerManager](../modules/Backend_Miner_MinerManager.md).MinerManagerEvent 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [DiscoveredNewChunk](Backend_Miner_MinerManager.MinerManagerEvent.md#discoverednewchunk) 10 | 11 | ## Enumeration members 12 | 13 | ### DiscoveredNewChunk 14 | 15 | • **DiscoveredNewChunk** = `"DiscoveredNewChunk"` 16 | -------------------------------------------------------------------------------- /docs/enums/Backend_Network_EventLogger.EventType.md: -------------------------------------------------------------------------------- 1 | # Enumeration: EventType 2 | 3 | [Backend/Network/EventLogger](../modules/Backend_Network_EventLogger.md).EventType 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [Diagnostics](Backend_Network_EventLogger.EventType.md#diagnostics) 10 | - [Transaction](Backend_Network_EventLogger.EventType.md#transaction) 11 | 12 | ## Enumeration members 13 | 14 | ### Diagnostics 15 | 16 | • **Diagnostics** = `"diagnostics"` 17 | 18 | --- 19 | 20 | ### Transaction 21 | 22 | • **Transaction** = `"transaction"` 23 | -------------------------------------------------------------------------------- /docs/enums/Backend_Network_UtilityServerAPI.EmailResponse.md: -------------------------------------------------------------------------------- 1 | # Enumeration: EmailResponse 2 | 3 | [Backend/Network/UtilityServerAPI](../modules/Backend_Network_UtilityServerAPI.md).EmailResponse 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [Invalid](Backend_Network_UtilityServerAPI.EmailResponse.md#invalid) 10 | - [ServerError](Backend_Network_UtilityServerAPI.EmailResponse.md#servererror) 11 | - [Success](Backend_Network_UtilityServerAPI.EmailResponse.md#success) 12 | 13 | ## Enumeration members 14 | 15 | ### Invalid 16 | 17 | • **Invalid** = `1` 18 | 19 | --- 20 | 21 | ### ServerError 22 | 23 | • **ServerError** = `2` 24 | 25 | --- 26 | 27 | ### Success 28 | 29 | • **Success** = `0` 30 | -------------------------------------------------------------------------------- /docs/enums/Backend_Storage_ReaderDataStore.SinglePlanetDataStoreEvent.md: -------------------------------------------------------------------------------- 1 | # Enumeration: SinglePlanetDataStoreEvent 2 | 3 | [Backend/Storage/ReaderDataStore](../modules/Backend_Storage_ReaderDataStore.md).SinglePlanetDataStoreEvent 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [REFRESHED_ARTIFACT](Backend_Storage_ReaderDataStore.SinglePlanetDataStoreEvent.md#refreshed_artifact) 10 | - [REFRESHED_PLANET](Backend_Storage_ReaderDataStore.SinglePlanetDataStoreEvent.md#refreshed_planet) 11 | 12 | ## Enumeration members 13 | 14 | ### REFRESHED_ARTIFACT 15 | 16 | • **REFRESHED_ARTIFACT** = `"REFRESHED_ARTIFACT"` 17 | 18 | --- 19 | 20 | ### REFRESHED_PLANET 21 | 22 | • **REFRESHED_PLANET** = `"REFRESHED_PLANET"` 23 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Components_Email.EmailCTAMode.md: -------------------------------------------------------------------------------- 1 | # Enumeration: EmailCTAMode 2 | 3 | [Frontend/Components/Email](../modules/Frontend_Components_Email.md).EmailCTAMode 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [SUBSCRIBE](Frontend_Components_Email.EmailCTAMode.md#subscribe) 10 | - [UNSUBSCRIBE](Frontend_Components_Email.EmailCTAMode.md#unsubscribe) 11 | 12 | ## Enumeration members 13 | 14 | ### SUBSCRIBE 15 | 16 | • **SUBSCRIBE** = `0` 17 | 18 | --- 19 | 20 | ### UNSUBSCRIBE 21 | 22 | • **UNSUBSCRIBE** = `1` 23 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Components_GameLandingPageComponents.InitRenderState.md: -------------------------------------------------------------------------------- 1 | # Enumeration: InitRenderState 2 | 3 | [Frontend/Components/GameLandingPageComponents](../modules/Frontend_Components_GameLandingPageComponents.md).InitRenderState 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [COMPLETE](Frontend_Components_GameLandingPageComponents.InitRenderState.md#complete) 10 | - [LOADING](Frontend_Components_GameLandingPageComponents.InitRenderState.md#loading) 11 | - [NONE](Frontend_Components_GameLandingPageComponents.InitRenderState.md#none) 12 | 13 | ## Enumeration members 14 | 15 | ### COMPLETE 16 | 17 | • **COMPLETE** = `2` 18 | 19 | --- 20 | 21 | ### LOADING 22 | 23 | • **LOADING** = `1` 24 | 25 | --- 26 | 27 | ### NONE 28 | 29 | • **NONE** = `0` 30 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Game_NotificationManager.NotificationManagerEvent.md: -------------------------------------------------------------------------------- 1 | # Enumeration: NotificationManagerEvent 2 | 3 | [Frontend/Game/NotificationManager](../modules/Frontend_Game_NotificationManager.md).NotificationManagerEvent 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [ClearNotification](Frontend_Game_NotificationManager.NotificationManagerEvent.md#clearnotification) 10 | - [Notify](Frontend_Game_NotificationManager.NotificationManagerEvent.md#notify) 11 | 12 | ## Enumeration members 13 | 14 | ### ClearNotification 15 | 16 | • **ClearNotification** = `"ClearNotification"` 17 | 18 | --- 19 | 20 | ### Notify 21 | 22 | • **Notify** = `"Notify"` 23 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Pages_LandingPage.LandingPageZIndex.md: -------------------------------------------------------------------------------- 1 | # Enumeration: LandingPageZIndex 2 | 3 | [Frontend/Pages/LandingPage](../modules/Frontend_Pages_LandingPage.md).LandingPageZIndex 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [Background](Frontend_Pages_LandingPage.LandingPageZIndex.md#background) 10 | - [BasePage](Frontend_Pages_LandingPage.LandingPageZIndex.md#basepage) 11 | - [Canvas](Frontend_Pages_LandingPage.LandingPageZIndex.md#canvas) 12 | 13 | ## Enumeration members 14 | 15 | ### Background 16 | 17 | • **Background** = `0` 18 | 19 | --- 20 | 21 | ### BasePage 22 | 23 | • **BasePage** = `2` 24 | 25 | --- 26 | 27 | ### Canvas 28 | 29 | • **Canvas** = `1` 30 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Pages_UnsubscribePage.LandingPageZIndex.md: -------------------------------------------------------------------------------- 1 | # Enumeration: LandingPageZIndex 2 | 3 | [Frontend/Pages/UnsubscribePage](../modules/Frontend_Pages_UnsubscribePage.md).LandingPageZIndex 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [Background](Frontend_Pages_UnsubscribePage.LandingPageZIndex.md#background) 10 | - [BasePage](Frontend_Pages_UnsubscribePage.LandingPageZIndex.md#basepage) 11 | - [Canvas](Frontend_Pages_UnsubscribePage.LandingPageZIndex.md#canvas) 12 | 13 | ## Enumeration members 14 | 15 | ### Background 16 | 17 | • **Background** = `0` 18 | 19 | --- 20 | 21 | ### BasePage 22 | 23 | • **BasePage** = `2` 24 | 25 | --- 26 | 27 | ### Canvas 28 | 29 | • **Canvas** = `1` 30 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Utils_constants.DFZIndex.md: -------------------------------------------------------------------------------- 1 | # Enumeration: DFZIndex 2 | 3 | [Frontend/Utils/constants](../modules/Frontend_Utils_constants.md).DFZIndex 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [HoverPlanet](Frontend_Utils_constants.DFZIndex.md#hoverplanet) 10 | - [MenuBar](Frontend_Utils_constants.DFZIndex.md#menubar) 11 | - [Modal](Frontend_Utils_constants.DFZIndex.md#modal) 12 | - [Notification](Frontend_Utils_constants.DFZIndex.md#notification) 13 | - [Tooltip](Frontend_Utils_constants.DFZIndex.md#tooltip) 14 | 15 | ## Enumeration members 16 | 17 | ### HoverPlanet 18 | 19 | • **HoverPlanet** = `1001` 20 | 21 | --- 22 | 23 | ### MenuBar 24 | 25 | • **MenuBar** = `4` 26 | 27 | --- 28 | 29 | ### Modal 30 | 31 | • **Modal** = `1001` 32 | 33 | --- 34 | 35 | ### Notification 36 | 37 | • **Notification** = `1000` 38 | 39 | --- 40 | 41 | ### Tooltip 42 | 43 | • **Tooltip** = `16000000` 44 | -------------------------------------------------------------------------------- /docs/enums/Frontend_Views_PlanetNotifications.PlanetNotifType.md: -------------------------------------------------------------------------------- 1 | # Enumeration: PlanetNotifType 2 | 3 | [Frontend/Views/PlanetNotifications](../modules/Frontend_Views_PlanetNotifications.md).PlanetNotifType 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [CanAddEmoji](Frontend_Views_PlanetNotifications.PlanetNotifType.md#canaddemoji) 10 | - [Claimed](Frontend_Views_PlanetNotifications.PlanetNotifType.md#claimed) 11 | - [DistanceFromCenter](Frontend_Views_PlanetNotifications.PlanetNotifType.md#distancefromcenter) 12 | - [PlanetCanUpgrade](Frontend_Views_PlanetNotifications.PlanetNotifType.md#planetcanupgrade) 13 | 14 | ## Enumeration members 15 | 16 | ### CanAddEmoji 17 | 18 | • **CanAddEmoji** = `3` 19 | 20 | --- 21 | 22 | ### Claimed 23 | 24 | • **Claimed** = `1` 25 | 26 | --- 27 | 28 | ### DistanceFromCenter 29 | 30 | • **DistanceFromCenter** = `2` 31 | 32 | --- 33 | 34 | ### PlanetCanUpgrade 35 | 36 | • **PlanetCanUpgrade** = `0` 37 | -------------------------------------------------------------------------------- /docs/enums/types_darkforest_api_ContractsAPITypes.PlanetEventType.md: -------------------------------------------------------------------------------- 1 | # Enumeration: PlanetEventType 2 | 3 | [\_types/darkforest/api/ContractsAPITypes](../modules/types_darkforest_api_ContractsAPITypes.md).PlanetEventType 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [ARRIVAL](types_darkforest_api_ContractsAPITypes.PlanetEventType.md#arrival) 10 | 11 | ## Enumeration members 12 | 13 | ### ARRIVAL 14 | 15 | • **ARRIVAL** = `0` 16 | -------------------------------------------------------------------------------- /docs/enums/types_darkforest_api_ContractsAPITypes.UpgradeArgIdxs.md: -------------------------------------------------------------------------------- 1 | # Enumeration: UpgradeArgIdxs 2 | 3 | [\_types/darkforest/api/ContractsAPITypes](../modules/types_darkforest_api_ContractsAPITypes.md).UpgradeArgIdxs 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [LOCATION_ID](types_darkforest_api_ContractsAPITypes.UpgradeArgIdxs.md#location_id) 10 | - [UPGRADE_BRANCH](types_darkforest_api_ContractsAPITypes.UpgradeArgIdxs.md#upgrade_branch) 11 | 12 | ## Enumeration members 13 | 14 | ### LOCATION_ID 15 | 16 | • **LOCATION_ID** = `0` 17 | 18 | --- 19 | 20 | ### UPGRADE_BRANCH 21 | 22 | • **UPGRADE_BRANCH** = `1` 23 | -------------------------------------------------------------------------------- /docs/enums/types_darkforest_api_ContractsAPITypes.ZKArgIdx.md: -------------------------------------------------------------------------------- 1 | # Enumeration: ZKArgIdx 2 | 3 | [\_types/darkforest/api/ContractsAPITypes](../modules/types_darkforest_api_ContractsAPITypes.md).ZKArgIdx 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [DATA](types_darkforest_api_ContractsAPITypes.ZKArgIdx.md#data) 10 | - [PROOF_A](types_darkforest_api_ContractsAPITypes.ZKArgIdx.md#proof_a) 11 | - [PROOF_B](types_darkforest_api_ContractsAPITypes.ZKArgIdx.md#proof_b) 12 | - [PROOF_C](types_darkforest_api_ContractsAPITypes.ZKArgIdx.md#proof_c) 13 | 14 | ## Enumeration members 15 | 16 | ### DATA 17 | 18 | • **DATA** = `3` 19 | 20 | --- 21 | 22 | ### PROOF_A 23 | 24 | • **PROOF_A** = `0` 25 | 26 | --- 27 | 28 | ### PROOF_B 29 | 30 | • **PROOF_B** = `1` 31 | 32 | --- 33 | 34 | ### PROOF_C 35 | 36 | • **PROOF_C** = `2` 37 | -------------------------------------------------------------------------------- /docs/enums/types_global_GlobalTypes.StatIdx.md: -------------------------------------------------------------------------------- 1 | # Enumeration: StatIdx 2 | 3 | [\_types/global/GlobalTypes](../modules/types_global_GlobalTypes.md).StatIdx 4 | 5 | ## Table of contents 6 | 7 | ### Enumeration members 8 | 9 | - [Defense](types_global_GlobalTypes.StatIdx.md#defense) 10 | - [EnergyCap](types_global_GlobalTypes.StatIdx.md#energycap) 11 | - [EnergyGro](types_global_GlobalTypes.StatIdx.md#energygro) 12 | - [Range](types_global_GlobalTypes.StatIdx.md#range) 13 | - [SpaceJunk](types_global_GlobalTypes.StatIdx.md#spacejunk) 14 | - [Speed](types_global_GlobalTypes.StatIdx.md#speed) 15 | 16 | ## Enumeration members 17 | 18 | ### Defense 19 | 20 | • **Defense** = `4` 21 | 22 | --- 23 | 24 | ### EnergyCap 25 | 26 | • **EnergyCap** = `0` 27 | 28 | --- 29 | 30 | ### EnergyGro 31 | 32 | • **EnergyGro** = `1` 33 | 34 | --- 35 | 36 | ### Range 37 | 38 | • **Range** = `2` 39 | 40 | --- 41 | 42 | ### SpaceJunk 43 | 44 | • **SpaceJunk** = `5` 45 | 46 | --- 47 | 48 | ### Speed 49 | 50 | • **Speed** = `3` 51 | -------------------------------------------------------------------------------- /docs/interfaces/Backend_GameLogic_ArrivalUtils.PlanetDiff.md: -------------------------------------------------------------------------------- 1 | # Interface: PlanetDiff 2 | 3 | [Backend/GameLogic/ArrivalUtils](../modules/Backend_GameLogic_ArrivalUtils.md).PlanetDiff 4 | 5 | **`param`** The previously calculated state of a planet 6 | 7 | **`param`** The current calculated state of the planet 8 | 9 | **`param`** The Arrival that caused the state change 10 | 11 | ## Table of contents 12 | 13 | ### Properties 14 | 15 | - [arrival](Backend_GameLogic_ArrivalUtils.PlanetDiff.md#arrival) 16 | - [current](Backend_GameLogic_ArrivalUtils.PlanetDiff.md#current) 17 | - [previous](Backend_GameLogic_ArrivalUtils.PlanetDiff.md#previous) 18 | 19 | ## Properties 20 | 21 | ### arrival 22 | 23 | • **arrival**: `QueuedArrival` 24 | 25 | --- 26 | 27 | ### current 28 | 29 | • **current**: `Planet` 30 | 31 | --- 32 | 33 | ### previous 34 | 35 | • **previous**: `Planet` 36 | -------------------------------------------------------------------------------- /docs/interfaces/Backend_Network_AccountManager.Account.md: -------------------------------------------------------------------------------- 1 | # Interface: Account 2 | 3 | [Backend/Network/AccountManager](../modules/Backend_Network_AccountManager.md).Account 4 | 5 | Represents an account with which the user plays the game. 6 | 7 | ## Table of contents 8 | 9 | ### Properties 10 | 11 | - [address](Backend_Network_AccountManager.Account.md#address) 12 | - [privateKey](Backend_Network_AccountManager.Account.md#privatekey) 13 | 14 | ## Properties 15 | 16 | ### address 17 | 18 | • **address**: `EthAddress` 19 | 20 | --- 21 | 22 | ### privateKey 23 | 24 | • **privateKey**: `string` 25 | -------------------------------------------------------------------------------- /docs/interfaces/Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md: -------------------------------------------------------------------------------- 1 | # Interface: EmbeddedPlugin 2 | 3 | [Backend/Plugins/EmbeddedPluginLoader](../modules/Backend_Plugins_EmbeddedPluginLoader.md).EmbeddedPlugin 4 | 5 | This interface represents an embedded plugin, which is stored in `embedded_plugins/`. 6 | 7 | ## Table of contents 8 | 9 | ### Properties 10 | 11 | - [code](Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md#code) 12 | - [id](Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md#id) 13 | - [name](Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md#name) 14 | 15 | ## Properties 16 | 17 | ### code 18 | 19 | • **code**: `string` 20 | 21 | --- 22 | 23 | ### id 24 | 25 | • **id**: `PluginId` 26 | 27 | --- 28 | 29 | ### name 30 | 31 | • **name**: `string` 32 | -------------------------------------------------------------------------------- /docs/interfaces/Frontend_Components_TextLoadingBar.LoadingBarHandle.md: -------------------------------------------------------------------------------- 1 | # Interface: LoadingBarHandle 2 | 3 | [Frontend/Components/TextLoadingBar](../modules/Frontend_Components_TextLoadingBar.md).LoadingBarHandle 4 | 5 | ## Table of contents 6 | 7 | ### Methods 8 | 9 | - [setFractionCompleted](Frontend_Components_TextLoadingBar.LoadingBarHandle.md#setfractioncompleted) 10 | 11 | ## Methods 12 | 13 | ### setFractionCompleted 14 | 15 | ▸ **setFractionCompleted**(`fractionCompleted`): `void` 16 | 17 | #### Parameters 18 | 19 | | Name | Type | 20 | | :------------------ | :------- | 21 | | `fractionCompleted` | `number` | 22 | 23 | #### Returns 24 | 25 | `void` 26 | -------------------------------------------------------------------------------- /docs/interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md: -------------------------------------------------------------------------------- 1 | # Interface: LobbiesPaneProps 2 | 3 | [Frontend/Panes/Lobbies/LobbiesUtils](../modules/Frontend_Panes_Lobbies_LobbiesUtils.md).LobbiesPaneProps 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [config](Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md#config) 10 | 11 | ### Methods 12 | 13 | - [onUpdate](Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md#onupdate) 14 | 15 | ## Properties 16 | 17 | ### config 18 | 19 | • **config**: [`LobbyConfigState`](../modules/Frontend_Panes_Lobbies_Reducer.md#lobbyconfigstate) 20 | 21 | ## Methods 22 | 23 | ### onUpdate 24 | 25 | ▸ **onUpdate**(`change`): `void` 26 | 27 | #### Parameters 28 | 29 | | Name | Type | 30 | | :------- | :------------------------------------------------------------------------------------ | 31 | | `change` | [`LobbyConfigAction`](../modules/Frontend_Panes_Lobbies_Reducer.md#lobbyconfigaction) | 32 | 33 | #### Returns 34 | 35 | `void` 36 | -------------------------------------------------------------------------------- /docs/interfaces/Frontend_Utils_EmitterUtils.Diff.md: -------------------------------------------------------------------------------- 1 | # Interface: Diff 2 | 3 | [Frontend/Utils/EmitterUtils](../modules/Frontend_Utils_EmitterUtils.md).Diff 4 | 5 | **`param`** The previously emitted state of an object 6 | 7 | **`param`** The current emitted state of an object 8 | 9 | ## Type parameters 10 | 11 | | Name | 12 | | :----- | 13 | | `Type` | 14 | 15 | ## Table of contents 16 | 17 | ### Properties 18 | 19 | - [current](Frontend_Utils_EmitterUtils.Diff.md#current) 20 | - [previous](Frontend_Utils_EmitterUtils.Diff.md#previous) 21 | 22 | ## Properties 23 | 24 | ### current 25 | 26 | • **current**: `Type` 27 | 28 | --- 29 | 30 | ### previous 31 | 32 | • **previous**: `Type` 33 | -------------------------------------------------------------------------------- /docs/interfaces/Frontend_Views_ModalPane.ModalFrame.md: -------------------------------------------------------------------------------- 1 | # Interface: ModalFrame 2 | 3 | [Frontend/Views/ModalPane](../modules/Frontend_Views_ModalPane.md).ModalFrame 4 | 5 | A modal has a {@code content}, and also optionally many {@link ModalFrames} pushed on top of it. 6 | 7 | ## Table of contents 8 | 9 | ### Properties 10 | 11 | - [helpContent](Frontend_Views_ModalPane.ModalFrame.md#helpcontent) 12 | - [title](Frontend_Views_ModalPane.ModalFrame.md#title) 13 | 14 | ### Methods 15 | 16 | - [element](Frontend_Views_ModalPane.ModalFrame.md#element) 17 | 18 | ## Properties 19 | 20 | ### helpContent 21 | 22 | • `Optional` **helpContent**: `ReactElement`<`any`, `string` \| `JSXElementConstructor`<`any`\>\> 23 | 24 | --- 25 | 26 | ### title 27 | 28 | • **title**: `string` 29 | 30 | ## Methods 31 | 32 | ### element 33 | 34 | ▸ **element**(): `ReactElement`<`any`, `string` \| `JSXElementConstructor`<`any`\>\> 35 | 36 | #### Returns 37 | 38 | `ReactElement`<`any`, `string` \| `JSXElementConstructor`<`any`\>\> 39 | -------------------------------------------------------------------------------- /docs/interfaces/Frontend_Views_Terminal.TerminalProps.md: -------------------------------------------------------------------------------- 1 | # Interface: TerminalProps 2 | 3 | [Frontend/Views/Terminal](../modules/Frontend_Views_Terminal.md).TerminalProps 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [promptCharacter](Frontend_Views_Terminal.TerminalProps.md#promptcharacter) 10 | 11 | ## Properties 12 | 13 | ### promptCharacter 14 | 15 | • **promptCharacter**: `string` 16 | -------------------------------------------------------------------------------- /docs/interfaces/types_darkforest_api_ChunkStoreTypes.ChunkStore.md: -------------------------------------------------------------------------------- 1 | # Interface: ChunkStore 2 | 3 | [\_types/darkforest/api/ChunkStoreTypes](../modules/types_darkforest_api_ChunkStoreTypes.md).ChunkStore 4 | 5 | Abstract interface shared between different types of chunk stores. Currently we have one that 6 | writes to IndexedDB, and one that simply throws away the data. 7 | 8 | ## Implemented by 9 | 10 | - [`HomePlanetMinerChunkStore`](../classes/Backend_Miner_MinerManager.HomePlanetMinerChunkStore.md) 11 | - [`default`](../classes/Backend_Storage_PersistentChunkStore.default.md) 12 | 13 | ## Table of contents 14 | 15 | ### Methods 16 | 17 | - [hasMinedChunk](types_darkforest_api_ChunkStoreTypes.ChunkStore.md#hasminedchunk) 18 | 19 | ## Methods 20 | 21 | ### hasMinedChunk 22 | 23 | ▸ **hasMinedChunk**(`chunkFootprint`): `boolean` 24 | 25 | #### Parameters 26 | 27 | | Name | Type | 28 | | :--------------- | :---------- | 29 | | `chunkFootprint` | `Rectangle` | 30 | 31 | #### Returns 32 | 33 | `boolean` 34 | -------------------------------------------------------------------------------- /docs/interfaces/types_darkforest_api_ChunkStoreTypes.PersistedLocation.md: -------------------------------------------------------------------------------- 1 | # Interface: PersistedLocation 2 | 3 | [\_types/darkforest/api/ChunkStoreTypes](../modules/types_darkforest_api_ChunkStoreTypes.md).PersistedLocation 4 | 5 | A location is a point sample of the universe. This type represents that point sample at rest when 6 | it is stored in IndexedDB. 7 | 8 | ## Table of contents 9 | 10 | ### Properties 11 | 12 | - [b](types_darkforest_api_ChunkStoreTypes.PersistedLocation.md#b) 13 | - [h](types_darkforest_api_ChunkStoreTypes.PersistedLocation.md#h) 14 | - [p](types_darkforest_api_ChunkStoreTypes.PersistedLocation.md#p) 15 | - [x](types_darkforest_api_ChunkStoreTypes.PersistedLocation.md#x) 16 | - [y](types_darkforest_api_ChunkStoreTypes.PersistedLocation.md#y) 17 | 18 | ## Properties 19 | 20 | ### b 21 | 22 | • **b**: `number` 23 | 24 | --- 25 | 26 | ### h 27 | 28 | • **h**: `LocationId` 29 | 30 | --- 31 | 32 | ### p 33 | 34 | • **p**: `number` 35 | 36 | --- 37 | 38 | ### x 39 | 40 | • **x**: `number` 41 | 42 | --- 43 | 44 | ### y 45 | 46 | • **y**: `number` 47 | -------------------------------------------------------------------------------- /docs/interfaces/types_global_GlobalTypes.ClaimCountdownInfo.md: -------------------------------------------------------------------------------- 1 | # Interface: ClaimCountdownInfo 2 | 3 | [\_types/global/GlobalTypes](../modules/types_global_GlobalTypes.md).ClaimCountdownInfo 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [claimCooldownTime](types_global_GlobalTypes.ClaimCountdownInfo.md#claimcooldowntime) 10 | - [currentlyClaiming](types_global_GlobalTypes.ClaimCountdownInfo.md#currentlyclaiming) 11 | - [myLastClaimTimestamp](types_global_GlobalTypes.ClaimCountdownInfo.md#mylastclaimtimestamp) 12 | 13 | ## Properties 14 | 15 | ### claimCooldownTime 16 | 17 | • **claimCooldownTime**: `number` 18 | 19 | --- 20 | 21 | ### currentlyClaiming 22 | 23 | • **currentlyClaiming**: `boolean` 24 | 25 | --- 26 | 27 | ### myLastClaimTimestamp 28 | 29 | • `Optional` **myLastClaimTimestamp**: `number` 30 | -------------------------------------------------------------------------------- /docs/interfaces/types_global_GlobalTypes.RevealCountdownInfo.md: -------------------------------------------------------------------------------- 1 | # Interface: RevealCountdownInfo 2 | 3 | [\_types/global/GlobalTypes](../modules/types_global_GlobalTypes.md).RevealCountdownInfo 4 | 5 | ## Table of contents 6 | 7 | ### Properties 8 | 9 | - [currentlyRevealing](types_global_GlobalTypes.RevealCountdownInfo.md#currentlyrevealing) 10 | - [myLastRevealTimestamp](types_global_GlobalTypes.RevealCountdownInfo.md#mylastrevealtimestamp) 11 | - [revealCooldownTime](types_global_GlobalTypes.RevealCountdownInfo.md#revealcooldowntime) 12 | 13 | ## Properties 14 | 15 | ### currentlyRevealing 16 | 17 | • **currentlyRevealing**: `boolean` 18 | 19 | --- 20 | 21 | ### myLastRevealTimestamp 22 | 23 | • `Optional` **myLastRevealTimestamp**: `number` 24 | 25 | --- 26 | 27 | ### revealCooldownTime 28 | 29 | • **revealCooldownTime**: `number` 30 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_CaptureZoneGenerator.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/CaptureZoneGenerator 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [CaptureZoneGenerator](../classes/Backend_GameLogic_CaptureZoneGenerator.CaptureZoneGenerator.md) 8 | 9 | ### Type aliases 10 | 11 | - [CaptureZonesGeneratedEvent](Backend_GameLogic_CaptureZoneGenerator.md#capturezonesgeneratedevent) 12 | 13 | ## Type aliases 14 | 15 | ### CaptureZonesGeneratedEvent 16 | 17 | Ƭ **CaptureZonesGeneratedEvent**: `Object` 18 | 19 | #### Type declaration 20 | 21 | | Name | Type | 22 | | :---------------- | :-------------- | 23 | | `changeBlock` | `number` | 24 | | `nextChangeBlock` | `number` | 25 | | `zones` | `CaptureZone`[] | 26 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_ContractsAPI.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/ContractsAPI 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [ContractsAPI](../classes/Backend_GameLogic_ContractsAPI.ContractsAPI.md) 8 | 9 | ### Functions 10 | 11 | - [makeContractsAPI](Backend_GameLogic_ContractsAPI.md#makecontractsapi) 12 | 13 | ## Functions 14 | 15 | ### makeContractsAPI 16 | 17 | ▸ **makeContractsAPI**(`__namedParameters`): `Promise`<[`ContractsAPI`](../classes/Backend_GameLogic_ContractsAPI.ContractsAPI.md)\> 18 | 19 | #### Parameters 20 | 21 | | Name | Type | 22 | | :------------------ | :------------------- | 23 | | `__namedParameters` | `ContractsApiConfig` | 24 | 25 | #### Returns 26 | 27 | `Promise`<[`ContractsAPI`](../classes/Backend_GameLogic_ContractsAPI.ContractsAPI.md)\> 28 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_GameManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/GameManager 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [GameManagerEvent](../enums/Backend_GameLogic_GameManager.GameManagerEvent.md) 8 | 9 | ### Classes 10 | 11 | - [default](../classes/Backend_GameLogic_GameManager.default.md) 12 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_GameObjects.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/GameObjects 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [GameObjects](../classes/Backend_GameLogic_GameObjects.GameObjects.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_GameUIManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/GameUIManager 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [GameUIManagerEvent](../enums/Backend_GameLogic_GameUIManager.GameUIManagerEvent.md) 8 | 9 | ### Classes 10 | 11 | - [default](../classes/Backend_GameLogic_GameUIManager.default.md) 12 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_InitialGameStateDownloader.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/InitialGameStateDownloader 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [InitialGameStateDownloader](../classes/Backend_GameLogic_InitialGameStateDownloader.InitialGameStateDownloader.md) 8 | 9 | ### Interfaces 10 | 11 | - [InitialGameState](../interfaces/Backend_GameLogic_InitialGameStateDownloader.InitialGameState.md) 12 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_LayeredMap.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/LayeredMap 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [LayeredMap](../classes/Backend_GameLogic_LayeredMap.LayeredMap.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_PluginManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/PluginManager 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [PluginManager](../classes/Backend_GameLogic_PluginManager.PluginManager.md) 8 | - [ProcessInfo](../classes/Backend_GameLogic_PluginManager.ProcessInfo.md) 9 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_TutorialManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/TutorialManager 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [TutorialManagerEvent](../enums/Backend_GameLogic_TutorialManager.TutorialManagerEvent.md) 8 | - [TutorialState](../enums/Backend_GameLogic_TutorialManager.TutorialState.md) 9 | 10 | ### Classes 11 | 12 | - [default](../classes/Backend_GameLogic_TutorialManager.default.md) 13 | -------------------------------------------------------------------------------- /docs/modules/Backend_GameLogic_ViewportEntities.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/GameLogic/ViewportEntities 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [ViewportEntities](../classes/Backend_GameLogic_ViewportEntities.ViewportEntities.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_Miner_MinerManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Miner/MinerManager 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [MinerManagerEvent](../enums/Backend_Miner_MinerManager.MinerManagerEvent.md) 8 | 9 | ### Classes 10 | 11 | - [HomePlanetMinerChunkStore](../classes/Backend_Miner_MinerManager.HomePlanetMinerChunkStore.md) 12 | - [default](../classes/Backend_Miner_MinerManager.default.md) 13 | 14 | ### Type aliases 15 | 16 | - [workerFactory](Backend_Miner_MinerManager.md#workerfactory) 17 | 18 | ## Type aliases 19 | 20 | ### workerFactory 21 | 22 | Ƭ **workerFactory**: () => `Worker` 23 | 24 | #### Type declaration 25 | 26 | ▸ (): `Worker` 27 | 28 | ##### Returns 29 | 30 | `Worker` 31 | -------------------------------------------------------------------------------- /docs/modules/Backend_Miner_MiningPatterns.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Miner/MiningPatterns 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [MiningPatternType](../enums/Backend_Miner_MiningPatterns.MiningPatternType.md) 8 | 9 | ### Classes 10 | 11 | - [SpiralPattern](../classes/Backend_Miner_MiningPatterns.SpiralPattern.md) 12 | - [SwissCheesePattern](../classes/Backend_Miner_MiningPatterns.SwissCheesePattern.md) 13 | - [TowardsCenterPattern](../classes/Backend_Miner_MiningPatterns.TowardsCenterPattern.md) 14 | - [TowardsCenterPatternV2](../classes/Backend_Miner_MiningPatterns.TowardsCenterPatternV2.md) 15 | 16 | ### Interfaces 17 | 18 | - [MiningPattern](../interfaces/Backend_Miner_MiningPatterns.MiningPattern.md) 19 | -------------------------------------------------------------------------------- /docs/modules/Backend_Miner_permutation.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Miner/permutation 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [getPlanetLocations](Backend_Miner_permutation.md#getplanetlocations) 8 | 9 | ## Functions 10 | 11 | ### getPlanetLocations 12 | 13 | ▸ **getPlanetLocations**(`spaceTypeKey`, `biomebaseKey`, `perlinLengthScale`, `perlinMirrorX`, `perlinMirrorY`): (`chunkFootprint`: `Rectangle`, `planetRarity`: `number`) => `WorldLocation`[] 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :-------- | 19 | | `spaceTypeKey` | `number` | 20 | | `biomebaseKey` | `number` | 21 | | `perlinLengthScale` | `number` | 22 | | `perlinMirrorX` | `boolean` | 23 | | `perlinMirrorY` | `boolean` | 24 | 25 | #### Returns 26 | 27 | `fn` 28 | 29 | ▸ (`chunkFootprint`, `planetRarity`): `WorldLocation`[] 30 | 31 | ##### Parameters 32 | 33 | | Name | Type | 34 | | :--------------- | :---------- | 35 | | `chunkFootprint` | `Rectangle` | 36 | | `planetRarity` | `number` | 37 | 38 | ##### Returns 39 | 40 | `WorldLocation`[] 41 | -------------------------------------------------------------------------------- /docs/modules/Backend_Network_AccountManager.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Network/AccountManager 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [Account](../interfaces/Backend_Network_AccountManager.Account.md) 8 | 9 | ### Functions 10 | 11 | - [addAccount](Backend_Network_AccountManager.md#addaccount) 12 | - [getAccounts](Backend_Network_AccountManager.md#getaccounts) 13 | 14 | ## Functions 15 | 16 | ### addAccount 17 | 18 | ▸ **addAccount**(`privateKey`): `void` 19 | 20 | Adds the given account, and saves it to localstorage. 21 | 22 | #### Parameters 23 | 24 | | Name | Type | 25 | | :----------- | :------- | 26 | | `privateKey` | `string` | 27 | 28 | #### Returns 29 | 30 | `void` 31 | 32 | --- 33 | 34 | ### getAccounts 35 | 36 | ▸ **getAccounts**(): [`Account`](../interfaces/Backend_Network_AccountManager.Account.md)[] 37 | 38 | Returns the list of accounts that are logged into the game. 39 | 40 | #### Returns 41 | 42 | [`Account`](../interfaces/Backend_Network_AccountManager.Account.md)[] 43 | -------------------------------------------------------------------------------- /docs/modules/Backend_Network_Blockchain.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Network/Blockchain 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [getEthConnection](Backend_Network_Blockchain.md#getethconnection) 8 | - [loadDiamondContract](Backend_Network_Blockchain.md#loaddiamondcontract) 9 | 10 | ## Functions 11 | 12 | ### getEthConnection 13 | 14 | ▸ **getEthConnection**(): `Promise`<`EthConnection`\> 15 | 16 | #### Returns 17 | 18 | `Promise`<`EthConnection`\> 19 | 20 | --- 21 | 22 | ### loadDiamondContract 23 | 24 | ▸ **loadDiamondContract**<`T`\>(`address`, `provider`, `signer?`): `Promise`<`T`\> 25 | 26 | Loads the game contract, which is responsible for updating the state of the game. 27 | 28 | #### Type parameters 29 | 30 | | Name | Type | 31 | | :--- | :----------------------- | 32 | | `T` | extends `Contract`<`T`\> | 33 | 34 | #### Parameters 35 | 36 | | Name | Type | 37 | | :--------- | :---------------- | 38 | | `address` | `string` | 39 | | `provider` | `JsonRpcProvider` | 40 | | `signer?` | `Wallet` | 41 | 42 | #### Returns 43 | 44 | `Promise`<`T`\> 45 | -------------------------------------------------------------------------------- /docs/modules/Backend_Network_EventLogger.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Network/EventLogger 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [EventType](../enums/Backend_Network_EventLogger.EventType.md) 8 | 9 | ### Classes 10 | 11 | - [EventLogger](../classes/Backend_Network_EventLogger.EventLogger.md) 12 | 13 | ### Variables 14 | 15 | - [eventLogger](Backend_Network_EventLogger.md#eventlogger) 16 | 17 | ## Variables 18 | 19 | ### eventLogger 20 | 21 | • `Const` **eventLogger**: [`EventLogger`](../classes/Backend_Network_EventLogger.EventLogger.md) 22 | -------------------------------------------------------------------------------- /docs/modules/Backend_Network_LeaderboardApi.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Network/LeaderboardApi 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [loadLeaderboard](Backend_Network_LeaderboardApi.md#loadleaderboard) 8 | 9 | ## Functions 10 | 11 | ### loadLeaderboard 12 | 13 | ▸ **loadLeaderboard**(): `Promise`<`Leaderboard`\> 14 | 15 | #### Returns 16 | 17 | `Promise`<`Leaderboard`\> 18 | -------------------------------------------------------------------------------- /docs/modules/Backend_Network_NetworkHealthApi.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Network/NetworkHealthApi 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [loadNetworkHealth](Backend_Network_NetworkHealthApi.md#loadnetworkhealth) 8 | 9 | ## Functions 10 | 11 | ### loadNetworkHealth 12 | 13 | ▸ **loadNetworkHealth**(): `Promise`<`NetworkHealthSummary`\> 14 | 15 | The Dark Forest webserver keeps track of network health, this function loads that information 16 | from the webserver. 17 | 18 | #### Returns 19 | 20 | `Promise`<`NetworkHealthSummary`\> 21 | -------------------------------------------------------------------------------- /docs/modules/Backend_Plugins_EmbeddedPluginLoader.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Plugins/EmbeddedPluginLoader 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [EmbeddedPlugin](../interfaces/Backend_Plugins_EmbeddedPluginLoader.EmbeddedPlugin.md) 8 | 9 | ### Functions 10 | 11 | - [getEmbeddedPlugins](Backend_Plugins_EmbeddedPluginLoader.md#getembeddedplugins) 12 | 13 | ## Functions 14 | 15 | ### getEmbeddedPlugins 16 | 17 | ▸ **getEmbeddedPlugins**(`isAdmin`): { `code`: `string` ; `id`: `PluginId` ; `name`: `string` }[] 18 | 19 | #### Parameters 20 | 21 | | Name | Type | 22 | | :-------- | :-------- | 23 | | `isAdmin` | `boolean` | 24 | 25 | #### Returns 26 | 27 | { `code`: `string` ; `id`: `PluginId` ; `name`: `string` }[] 28 | -------------------------------------------------------------------------------- /docs/modules/Backend_Plugins_PluginProcess.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Plugins/PluginProcess 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [PluginProcess](../interfaces/Backend_Plugins_PluginProcess.PluginProcess.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_Plugins_PluginTemplate.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Plugins/PluginTemplate 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [PLUGIN_TEMPLATE](Backend_Plugins_PluginTemplate.md#plugin_template) 8 | 9 | ## Variables 10 | 11 | ### PLUGIN_TEMPLATE 12 | 13 | • `Const` **PLUGIN_TEMPLATE**: `string` 14 | -------------------------------------------------------------------------------- /docs/modules/Backend_Plugins_SerializedPlugin.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Plugins/SerializedPlugin 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [SerializedPlugin](../interfaces/Backend_Plugins_SerializedPlugin.SerializedPlugin.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_Storage_PersistentChunkStore.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Storage/PersistentChunkStore 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [default](../classes/Backend_Storage_PersistentChunkStore.default.md) 8 | 9 | ### Variables 10 | 11 | - [MODAL_POSITIONS_KEY](Backend_Storage_PersistentChunkStore.md#modal_positions_key) 12 | 13 | ## Variables 14 | 15 | ### MODAL_POSITIONS_KEY 16 | 17 | • `Const` **MODAL_POSITIONS_KEY**: `"modal_positions"` 18 | -------------------------------------------------------------------------------- /docs/modules/Backend_Storage_ReaderDataStore.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Storage/ReaderDataStore 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [SinglePlanetDataStoreEvent](../enums/Backend_Storage_ReaderDataStore.SinglePlanetDataStoreEvent.md) 8 | 9 | ### Classes 10 | 11 | - [default](../classes/Backend_Storage_ReaderDataStore.default.md) 12 | -------------------------------------------------------------------------------- /docs/modules/Backend_Utils_SnarkArgsHelper.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Utils/SnarkArgsHelper 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [default](../classes/Backend_Utils_SnarkArgsHelper.default.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Backend_Utils_Wrapper.md: -------------------------------------------------------------------------------- 1 | # Module: Backend/Utils/Wrapper 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [Wrapper](../classes/Backend_Utils_Wrapper.Wrapper.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_AncientLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/AncientLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [ancientAnim](Frontend_Components_AncientLabel.md#ancientanim) 8 | 9 | ### Functions 10 | 11 | - [AncientLabel](Frontend_Components_AncientLabel.md#ancientlabel) 12 | - [AncientLabelAnim](Frontend_Components_AncientLabel.md#ancientlabelanim) 13 | 14 | ## Variables 15 | 16 | ### ancientAnim 17 | 18 | • `Const` **ancientAnim**: `FlattenSimpleInterpolation` 19 | 20 | ## Functions 21 | 22 | ### AncientLabel 23 | 24 | ▸ **AncientLabel**(): `Element` 25 | 26 | #### Returns 27 | 28 | `Element` 29 | 30 | --- 31 | 32 | ### AncientLabelAnim 33 | 34 | ▸ **AncientLabelAnim**(): `Element` 35 | 36 | #### Returns 37 | 38 | `Element` 39 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_ArtifactImage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/ArtifactImage 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [ARTIFACT_URL](Frontend_Components_ArtifactImage.md#artifact_url) 8 | 9 | ### Functions 10 | 11 | - [ArtifactImage](Frontend_Components_ArtifactImage.md#artifactimage) 12 | 13 | ## Variables 14 | 15 | ### ARTIFACT_URL 16 | 17 | • `Const` **ARTIFACT_URL**: `"https://d2wspbczt15cqu.cloudfront.net/v0.6.0-artifacts/"` 18 | 19 | ## Functions 20 | 21 | ### ArtifactImage 22 | 23 | ▸ **ArtifactImage**(`__namedParameters`): `Element` 24 | 25 | #### Parameters 26 | 27 | | Name | Type | 28 | | :--------------------------- | :------------------ | 29 | | `__namedParameters` | `Object` | 30 | | `__namedParameters.artifact` | `Artifact` | 31 | | `__namedParameters.bgColor?` | `ArtifactFileColor` | 32 | | `__namedParameters.size` | `number` | 33 | | `__namedParameters.thumb?` | `boolean` | 34 | 35 | #### Returns 36 | 37 | `Element` 38 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_BiomeAnims.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/BiomeAnims 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [burnAnim](Frontend_Components_BiomeAnims.md#burnanim) 8 | - [icyAnim](Frontend_Components_BiomeAnims.md#icyanim) 9 | - [shakeAnim](Frontend_Components_BiomeAnims.md#shakeanim) 10 | - [wiggle](Frontend_Components_BiomeAnims.md#wiggle) 11 | 12 | ## Variables 13 | 14 | ### burnAnim 15 | 16 | • `Const` **burnAnim**: `FlattenSimpleInterpolation` 17 | 18 | --- 19 | 20 | ### icyAnim 21 | 22 | • `Const` **icyAnim**: `FlattenSimpleInterpolation` 23 | 24 | --- 25 | 26 | ### shakeAnim 27 | 28 | • `Const` **shakeAnim**: `FlattenSimpleInterpolation` 29 | 30 | --- 31 | 32 | ### wiggle 33 | 34 | • `Const` **wiggle**: `Keyframes` 35 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Button.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Button 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [default](Frontend_Components_Button.md#default) 8 | 9 | ## Functions 10 | 11 | ### default 12 | 13 | ▸ **default**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------ | 19 | | `__namedParameters` | `ButtonProps` | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_CapturePlanetButton.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/CapturePlanetButton 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [CapturePlanetButton](Frontend_Components_CapturePlanetButton.md#captureplanetbutton) 8 | 9 | ## Functions 10 | 11 | ### CapturePlanetButton 12 | 13 | ▸ **CapturePlanetButton**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------------- | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.planetWrapper` | [`Wrapper`](../classes/Backend_Utils_Wrapper.Wrapper.md)<`undefined` \| `Planet`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Corner.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Corner 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [Corner](Frontend_Components_Corner.md#corner) 8 | 9 | ## Functions 10 | 11 | ### Corner 12 | 13 | ▸ **Corner**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------ | 19 | | `__namedParameters` | `CornerProps` | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_DisplayGasPrices.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/DisplayGasPrices 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [DisplayGasPrices](Frontend_Components_DisplayGasPrices.md#displaygasprices) 8 | 9 | ## Functions 10 | 11 | ### DisplayGasPrices 12 | 13 | ▸ **DisplayGasPrices**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :----------------------------- | :---------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.gasPrices?` | `GasPrices` | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Email.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Email 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [EmailCTAMode](../enums/Frontend_Components_Email.EmailCTAMode.md) 8 | 9 | ### Functions 10 | 11 | - [EmailCTA](Frontend_Components_Email.md#emailcta) 12 | 13 | ## Functions 14 | 15 | ### EmailCTA 16 | 17 | ▸ **EmailCTA**(`__namedParameters`): `Element` 18 | 19 | #### Parameters 20 | 21 | | Name | Type | 22 | | :----------------------- | :------------------------------------------------------------------- | 23 | | `__namedParameters` | `Object` | 24 | | `__namedParameters.mode` | [`EmailCTAMode`](../enums/Frontend_Components_Email.EmailCTAMode.md) | 25 | 26 | #### Returns 27 | 28 | `Element` 29 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_KeywordLabels.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/KeywordLabels 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ScoreLabel](Frontend_Components_Labels_KeywordLabels.md#scorelabel) 8 | - [ScoreLabelTip](Frontend_Components_Labels_KeywordLabels.md#scorelabeltip) 9 | - [SilverLabel](Frontend_Components_Labels_KeywordLabels.md#silverlabel) 10 | - [SilverLabelTip](Frontend_Components_Labels_KeywordLabels.md#silverlabeltip) 11 | 12 | ## Functions 13 | 14 | ### ScoreLabel 15 | 16 | ▸ **ScoreLabel**(): `Element` 17 | 18 | #### Returns 19 | 20 | `Element` 21 | 22 | --- 23 | 24 | ### ScoreLabelTip 25 | 26 | ▸ **ScoreLabelTip**(): `Element` 27 | 28 | #### Returns 29 | 30 | `Element` 31 | 32 | --- 33 | 34 | ### SilverLabel 35 | 36 | ▸ **SilverLabel**(): `Element` 37 | 38 | #### Returns 39 | 40 | `Element` 41 | 42 | --- 43 | 44 | ### SilverLabelTip 45 | 46 | ▸ **SilverLabelTip**(): `Element` 47 | 48 | #### Returns 49 | 50 | `Element` 51 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_LavaLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/LavaLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [LavaLabel](Frontend_Components_Labels_LavaLabel.md#lavalabel) 8 | 9 | ### Functions 10 | 11 | - [LavaLabelRaw](Frontend_Components_Labels_LavaLabel.md#lavalabelraw) 12 | 13 | ## Variables 14 | 15 | ### LavaLabel 16 | 17 | • `Const` **LavaLabel**: `MemoExoticComponent`<() => `Element`\> 18 | 19 | ## Functions 20 | 21 | ### LavaLabelRaw 22 | 23 | ▸ **LavaLabelRaw**(): `Element` 24 | 25 | #### Returns 26 | 27 | `Element` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_LegendaryLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/LegendaryLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [LegendaryLabel](Frontend_Components_Labels_LegendaryLabel.md#legendarylabel) 8 | 9 | ## Variables 10 | 11 | ### LegendaryLabel 12 | 13 | • `Const` **LegendaryLabel**: `MemoExoticComponent`<() => `Element`\> 14 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_MythicLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/MythicLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [MythicLabel](Frontend_Components_Labels_MythicLabel.md#mythiclabel) 8 | 9 | ### Functions 10 | 11 | - [MythicLabelText](Frontend_Components_Labels_MythicLabel.md#mythiclabeltext) 12 | 13 | ## Variables 14 | 15 | ### MythicLabel 16 | 17 | • `Const` **MythicLabel**: `MemoExoticComponent`<() => `Element`\> 18 | 19 | ## Functions 20 | 21 | ### MythicLabelText 22 | 23 | ▸ **MythicLabelText**(`__namedParameters`): `Element` 24 | 25 | #### Parameters 26 | 27 | | Name | Type | 28 | | :------------------------- | :-------------- | 29 | | `__namedParameters` | `Object` | 30 | | `__namedParameters.style?` | `CSSProperties` | 31 | | `__namedParameters.text` | `string` | 32 | 33 | #### Returns 34 | 35 | `Element` 36 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_SpacetimeRipLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/SpacetimeRipLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [SpacetimeRipLabel](Frontend_Components_Labels_SpacetimeRipLabel.md#spacetimeriplabel) 8 | 9 | ## Variables 10 | 11 | ### SpacetimeRipLabel 12 | 13 | • `Const` **SpacetimeRipLabel**: `MemoExoticComponent`<() => `Element`\> 14 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Labels_WastelandLabel.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Labels/WastelandLabel 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [WastelandLabel](Frontend_Components_Labels_WastelandLabel.md#wastelandlabel) 8 | 9 | ### Functions 10 | 11 | - [WastelandLabelRaw](Frontend_Components_Labels_WastelandLabel.md#wastelandlabelraw) 12 | 13 | ## Variables 14 | 15 | ### WastelandLabel 16 | 17 | • `Const` **WastelandLabel**: `MemoExoticComponent`<() => `Element`\> 18 | 19 | ## Functions 20 | 21 | ### WastelandLabelRaw 22 | 23 | ▸ **WastelandLabelRaw**(): `Element` 24 | 25 | #### Returns 26 | 27 | `Element` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_LoadingSpinner.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/LoadingSpinner 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [LoadingSpinner](Frontend_Components_LoadingSpinner.md#loadingspinner) 8 | 9 | ## Functions 10 | 11 | ### LoadingSpinner 12 | 13 | ▸ **LoadingSpinner**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------- | :------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.initialText?` | `string` | 21 | | `__namedParameters.rate?` | `number` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_MineArtifactButton.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/MineArtifactButton 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [MineArtifactButton](Frontend_Components_MineArtifactButton.md#mineartifactbutton) 8 | 9 | ## Functions 10 | 11 | ### MineArtifactButton 12 | 13 | ▸ **MineArtifactButton**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------------- | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.planetWrapper` | [`Wrapper`](../classes/Backend_Utils_Wrapper.Wrapper.md)<`undefined` \| `Planet`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Modal.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Modal 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [DarkForestModal](../classes/Frontend_Components_Modal.DarkForestModal.md) 8 | - [PositionChangedEvent](../classes/Frontend_Components_Modal.PositionChangedEvent.md) 9 | 10 | ### Variables 11 | 12 | - [Modal](Frontend_Components_Modal.md#modal) 13 | 14 | ## Variables 15 | 16 | ### Modal 17 | 18 | • `Const` **Modal**: `ForwardRefExoticComponent`<`Partial`<`Omit`<[`DarkForestModal`](../classes/Frontend_Components_Modal.DarkForestModal.md), `"children"`\>\> & `Events`<{ `onMouseDown`: (`evt`: `Event` & `MouseEvent`<[`DarkForestModal`](../classes/Frontend_Components_Modal.DarkForestModal.md), `MouseEvent`\>) => `void` ; `onPositionChanged`: (`evt`: [`PositionChangedEvent`](../classes/Frontend_Components_Modal.PositionChangedEvent.md)) => `void` }\> & `HTMLAttributes`<`HTMLElement`\> & {} & `RefAttributes`<`unknown`\>\> 19 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_PluginModal.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/PluginModal 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PluginModal](Frontend_Components_PluginModal.md#pluginmodal) 8 | 9 | ## Functions 10 | 11 | ### PluginModal 12 | 13 | ▸ **PluginModal**(`__namedParameters`): `ReactPortal` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :---------------------------- | :--------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.container` | `Element` | 21 | | `__namedParameters.id` | `ModalId` | 22 | | `__namedParameters.title` | `string` | 23 | | `__namedParameters.width?` | `string` | 24 | | `__namedParameters.onClose` | () => `void` | 25 | | `__namedParameters.onRender` | (`el`: `HTMLDivElement`) => `void` | 26 | 27 | #### Returns 28 | 29 | `ReactPortal` 30 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_ReadMore.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/ReadMore 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ReadMore](Frontend_Components_ReadMore.md#readmore) 8 | 9 | ## Functions 10 | 11 | ### ReadMore 12 | 13 | ▸ **ReadMore**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------------------- | :--------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.children` | `ReactNode` \| `ReactNode`[] | 21 | | `__namedParameters.height?` | `string` | 22 | | `__namedParameters.text?` | `string` | 23 | | `__namedParameters.toggleButtonMargin?` | `string` | 24 | 25 | #### Returns 26 | 27 | `Element` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Row.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Row 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [Row](Frontend_Components_Row.md#row) 8 | 9 | ## Variables 10 | 11 | ### Row 12 | 13 | • `Const` **Row**: `ForwardRefExoticComponent`<`Partial`<`Omit`<`DarkForestRow`, `"children"`\>\> & `Events`<`unknown`\> & `HTMLAttributes`<`HTMLElement`\> & {} & `RefAttributes`<`unknown`\>\> 14 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_TextPreview.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/TextPreview 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TextPreview](Frontend_Components_TextPreview.md#textpreview) 8 | 9 | ## Functions 10 | 11 | ### TextPreview 12 | 13 | ▸ **TextPreview**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :---------------------------------- | :-------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.focusedWidth?` | `string` | 21 | | `__namedParameters.maxLength?` | `number` | 22 | | `__namedParameters.style?` | `CSSProperties` | 23 | | `__namedParameters.text?` | `string` | 24 | | `__namedParameters.unFocusedWidth?` | `string` | 25 | 26 | #### Returns 27 | 28 | `Element` 29 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_Theme.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/Theme 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [Theme](Frontend_Components_Theme.md#theme) 8 | 9 | ## Variables 10 | 11 | ### Theme 12 | 13 | • `Const` **Theme**: `ForwardRefExoticComponent`<`Partial`<`Omit`<`DarkForestTheme`, `"children"`\>\> & `Events`<`unknown`\> & `HTMLAttributes`<`HTMLElement`\> & {} & `RefAttributes`<`unknown`\>\> 14 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Components_TimeUntil.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Components/TimeUntil 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TimeUntil](Frontend_Components_TimeUntil.md#timeuntil) 8 | - [formatDuration](Frontend_Components_TimeUntil.md#formatduration) 9 | 10 | ## Functions 11 | 12 | ### TimeUntil 13 | 14 | ▸ **TimeUntil**(`__namedParameters`): `Element` 15 | 16 | Given a timestamp, displays the amount of time until the timestamp from now in hh:mm:ss format. 17 | If the timestamp is in the past, displays the given hardcoded value. 18 | 19 | #### Parameters 20 | 21 | | Name | Type | 22 | | :---------------------------- | :------- | 23 | | `__namedParameters` | `Object` | 24 | | `__namedParameters.ifPassed` | `string` | 25 | | `__namedParameters.timestamp` | `number` | 26 | 27 | #### Returns 28 | 29 | `Element` 30 | 31 | --- 32 | 33 | ### formatDuration 34 | 35 | ▸ **formatDuration**(`msDuration`): `string` 36 | 37 | #### Parameters 38 | 39 | | Name | Type | 40 | | :----------- | :------- | 41 | | `msDuration` | `number` | 42 | 43 | #### Returns 44 | 45 | `string` 46 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Game_ControllableCanvas.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Game/ControllableCanvas 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [default](Frontend_Game_ControllableCanvas.md#default) 8 | 9 | ## Functions 10 | 11 | ### default 12 | 13 | ▸ **default**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Game_ModalManager.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Game/ModalManager 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [default](../classes/Frontend_Game_ModalManager.default.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Game_Popups.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Game/Popups 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [openConfirmationWindowForTransaction](Frontend_Game_Popups.md#openconfirmationwindowfortransaction) 8 | 9 | ## Functions 10 | 11 | ### openConfirmationWindowForTransaction 12 | 13 | ▸ **openConfirmationWindowForTransaction**(`__namedParameters`): `Promise`<`void`\> 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :----------------------- | 19 | | `__namedParameters` | `OpenConfirmationConfig` | 20 | 21 | #### Returns 22 | 23 | `Promise`<`void`\> 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Game_Viewport.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Game/Viewport 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [default](../classes/Frontend_Game_Viewport.default.md) 8 | 9 | ### Functions 10 | 11 | - [getDefaultScroll](Frontend_Game_Viewport.md#getdefaultscroll) 12 | 13 | ## Functions 14 | 15 | ### getDefaultScroll 16 | 17 | ▸ **getDefaultScroll**(): `number` 18 | 19 | #### Returns 20 | 21 | `number` 22 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_App.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/App 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [default](Frontend_Pages_App.md#default) 8 | 9 | ## Functions 10 | 11 | ### default 12 | 13 | ▸ **default**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_CreateLobby.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/CreateLobby 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [CreateLobby](Frontend_Pages_CreateLobby.md#createlobby) 8 | 9 | ## Functions 10 | 11 | ### CreateLobby 12 | 13 | ▸ **CreateLobby**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :--------------------------------------------------------------------------- | 19 | | `__namedParameters` | `RouteComponentProps`<{ `contract`: `string` }, `StaticContext`, `unknown`\> | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_EventsPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/EventsPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [EventsPage](Frontend_Pages_EventsPage.md#eventspage) 8 | 9 | ## Functions 10 | 11 | ### EventsPage 12 | 13 | ▸ **EventsPage**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_GameLandingPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/GameLandingPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [GameLandingPage](Frontend_Pages_GameLandingPage.md#gamelandingpage) 8 | 9 | ## Functions 10 | 11 | ### GameLandingPage 12 | 13 | ▸ **GameLandingPage**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :--------------------------------------------------------------------------- | 19 | | `__namedParameters` | `RouteComponentProps`<{ `contract`: `string` }, `StaticContext`, `unknown`\> | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_GifMaker.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/GifMaker 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [GIF_ARTIFACT_COLOR](Frontend_Pages_GifMaker.md#gif_artifact_color) 8 | 9 | ### Functions 10 | 11 | - [GifMaker](Frontend_Pages_GifMaker.md#gifmaker) 12 | 13 | ## Variables 14 | 15 | ### GIF_ARTIFACT_COLOR 16 | 17 | • `Const` **GIF_ARTIFACT_COLOR**: `ArtifactFileColor` = `ArtifactFileColor.APP_BACKGROUND` 18 | 19 | ## Functions 20 | 21 | ### GifMaker 22 | 23 | ▸ **GifMaker**(): `Element` 24 | 25 | Entrypoint for gif and sprite generation, accessed via `yarn run gifs`. 26 | Wait a second or so for the textures to get loaded, then click the buttons to download files as a zip. 27 | gifs are saved as 60fps webm, and can take a while - open the console to see progress (logged verbosely) 28 | 29 | #### Returns 30 | 31 | `Element` 32 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_LandingPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/LandingPage 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [LandingPageZIndex](../enums/Frontend_Pages_LandingPage.LandingPageZIndex.md) 8 | 9 | ### Variables 10 | 11 | - [LinkContainer](Frontend_Pages_LandingPage.md#linkcontainer) 12 | 13 | ### Functions 14 | 15 | - [default](Frontend_Pages_LandingPage.md#default) 16 | 17 | ## Variables 18 | 19 | ### LinkContainer 20 | 21 | • `Const` **LinkContainer**: `StyledComponent`<`"div"`, `any`, {}, `never`\> 22 | 23 | ## Functions 24 | 25 | ### default 26 | 27 | ▸ **default**(): `Element` 28 | 29 | #### Returns 30 | 31 | `Element` 32 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_LoadingPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/LoadingPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [default](Frontend_Pages_LoadingPage.md#default) 8 | 9 | ## Functions 10 | 11 | ### default 12 | 13 | ▸ **default**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_LobbyLandingPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/LobbyLandingPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [LobbyLandingPage](Frontend_Pages_LobbyLandingPage.md#lobbylandingpage) 8 | 9 | ## Functions 10 | 11 | ### LobbyLandingPage 12 | 13 | ▸ **LobbyLandingPage**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :---------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.onReady` | (`connection`: `EthConnection`) => `void` | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_NotFoundPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/NotFoundPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [NotFoundPage](Frontend_Pages_NotFoundPage.md#notfoundpage) 8 | 9 | ## Functions 10 | 11 | ### NotFoundPage 12 | 13 | ▸ **NotFoundPage**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_ShareArtifact.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/ShareArtifact 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ShareArtifact](Frontend_Pages_ShareArtifact.md#shareartifact) 8 | 9 | ## Functions 10 | 11 | ### ShareArtifact 12 | 13 | ▸ **ShareArtifact**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `RouteComponentProps`<{ `artifactId`: `ArtifactId` }, `StaticContext`, `unknown`\> | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_SharePlanet.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/SharePlanet 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SharePlanet](Frontend_Pages_SharePlanet.md#shareplanet) 8 | 9 | ## Functions 10 | 11 | ### SharePlanet 12 | 13 | ▸ **SharePlanet**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `RouteComponentProps`<{ `locationId`: `LocationId` }, `StaticContext`, `unknown`\> | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_TestArtifactImages.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/TestArtifactImages 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TestArtifactImages](Frontend_Pages_TestArtifactImages.md#testartifactimages) 8 | 9 | ## Functions 10 | 11 | ### TestArtifactImages 12 | 13 | ▸ **TestArtifactImages**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_TxConfirmPopup.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/TxConfirmPopup 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TxConfirmPopup](Frontend_Pages_TxConfirmPopup.md#txconfirmpopup) 8 | 9 | ## Functions 10 | 11 | ### TxConfirmPopup 12 | 13 | ▸ **TxConfirmPopup**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `RouteComponentProps`<{ `actionId`: `string` ; `addr`: `string` ; `balance`: `string` ; `contract`: `string` ; `method`: `string` }, `StaticContext`, `unknown`\> | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_UnsubscribePage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/UnsubscribePage 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [LandingPageZIndex](../enums/Frontend_Pages_UnsubscribePage.LandingPageZIndex.md) 8 | 9 | ### Functions 10 | 11 | - [default](Frontend_Pages_UnsubscribePage.md#default) 12 | 13 | ## Functions 14 | 15 | ### default 16 | 17 | ▸ **default**(): `Element` 18 | 19 | #### Returns 20 | 21 | `Element` 22 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Pages_ValhallaPage.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Pages/ValhallaPage 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ValhallaPage](Frontend_Pages_ValhallaPage.md#valhallapage) 8 | 9 | ## Functions 10 | 11 | ### ValhallaPage 12 | 13 | ▸ **ValhallaPage**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ArtifactCard.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ArtifactCard 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ArtifactCard](Frontend_Panes_ArtifactCard.md#artifactcard) 8 | 9 | ## Functions 10 | 11 | ### ArtifactCard 12 | 13 | ▸ **ArtifactCard**(`__namedParameters`): `null` \| `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------ | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.artifactId?` | `ArtifactId` | 21 | 22 | #### Returns 23 | 24 | `null` \| `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ArtifactHoverPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ArtifactHoverPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ArtifactHoverPane](Frontend_Panes_ArtifactHoverPane.md#artifacthoverpane) 8 | 9 | ## Functions 10 | 11 | ### ArtifactHoverPane 12 | 13 | ▸ **ArtifactHoverPane**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_CoordsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/CoordsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [CoordsPane](Frontend_Panes_CoordsPane.md#coordspane) 8 | 9 | ## Functions 10 | 11 | ### CoordsPane 12 | 13 | ▸ **CoordsPane**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_DiagnosticsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/DiagnosticsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [DiagnosticsPane](Frontend_Panes_DiagnosticsPane.md#diagnosticspane) 8 | 9 | ## Functions 10 | 11 | ### DiagnosticsPane 12 | 13 | ▸ **DiagnosticsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ExplorePane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ExplorePane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ExplorePane](Frontend_Panes_ExplorePane.md#explorepane) 8 | 9 | ## Functions 10 | 11 | ### ExplorePane 12 | 13 | ▸ **ExplorePane**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_HatPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/HatPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [HatPane](Frontend_Panes_HatPane.md#hatpane) 8 | 9 | ## Functions 10 | 11 | ### HatPane 12 | 13 | ▸ **HatPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :----------------------------------- | :--------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.initialPlanetId?` | `LocationId` | 21 | | `__namedParameters.modal` | [`ModalHandle`](../interfaces/Frontend_Views_ModalPane.ModalHandle.md) | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_HelpPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/HelpPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [HelpPane](Frontend_Panes_HelpPane.md#helppane) 8 | 9 | ## Functions 10 | 11 | ### HelpPane 12 | 13 | ▸ **HelpPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_HoverPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/HoverPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [HoverPane](Frontend_Panes_HoverPane.md#hoverpane) 8 | 9 | ## Functions 10 | 11 | ### HoverPane 12 | 13 | ▸ **HoverPane**(`__namedParameters`): `Element` 14 | 15 | This is the pane that is rendered when you hover over a planet. 16 | 17 | #### Parameters 18 | 19 | | Name | Type | 20 | | :-------------------------- | :-------------- | 21 | | `__namedParameters` | `Object` | 22 | | `__namedParameters.element` | `ReactChild` | 23 | | `__namedParameters.style?` | `CSSProperties` | 24 | | `__namedParameters.visible` | `boolean` | 25 | 26 | #### Returns 27 | 28 | `Element` 29 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_HoverPlanetPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/HoverPlanetPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [HoverPlanetPane](Frontend_Panes_HoverPlanetPane.md#hoverplanetpane) 8 | 9 | ## Functions 10 | 11 | ### HoverPlanetPane 12 | 13 | ▸ **HoverPlanetPane**(): `Element` 14 | 15 | This is the pane that is rendered when you hover over a planet. 16 | 17 | #### Returns 18 | 19 | `Element` 20 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_AdminPermissionsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/AdminPermissionsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [AdminPermissionsPane](Frontend_Panes_Lobbies_AdminPermissionsPane.md#adminpermissionspane) 8 | 9 | ## Functions 10 | 11 | ### AdminPermissionsPane 12 | 13 | ▸ **AdminPermissionsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_ArtifactSettingsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/ArtifactSettingsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ArtifactSettingsPane](Frontend_Panes_Lobbies_ArtifactSettingsPane.md#artifactsettingspane) 8 | 9 | ## Functions 10 | 11 | ### ArtifactSettingsPane 12 | 13 | ▸ **ArtifactSettingsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_CaptureZonesPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/CaptureZonesPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [CaptureZonesPane](Frontend_Panes_Lobbies_CaptureZonesPane.md#capturezonespane) 8 | 9 | ## Functions 10 | 11 | ### CaptureZonesPane 12 | 13 | ▸ **CaptureZonesPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_GameSettingsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/GameSettingsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [GameSettingsPane](Frontend_Panes_Lobbies_GameSettingsPane.md#gamesettingspane) 8 | 9 | ## Functions 10 | 11 | ### GameSettingsPane 12 | 13 | ▸ **GameSettingsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_MinimapPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/MinimapPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [Minimap](Frontend_Panes_Lobbies_MinimapPane.md#minimap) 8 | 9 | ## Functions 10 | 11 | ### Minimap 12 | 13 | ▸ **Minimap**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :----------------------------- | :------------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.config` | `undefined` \| [`MinimapConfig`](Frontend_Panes_Lobbies_MinimapUtils.md#minimapconfig) | 21 | | `__namedParameters.modalIndex` | `number` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_PlanetPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/PlanetPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetPane](Frontend_Panes_Lobbies_PlanetPane.md#planetpane) 8 | 9 | ## Functions 10 | 11 | ### PlanetPane 12 | 13 | ▸ **PlanetPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_PlayerSpawnPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/PlayerSpawnPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlayerSpawnPane](Frontend_Panes_Lobbies_PlayerSpawnPane.md#playerspawnpane) 8 | 9 | ## Functions 10 | 11 | ### PlayerSpawnPane 12 | 13 | ▸ **PlayerSpawnPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_SnarkPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/SnarkPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SnarkPane](Frontend_Panes_Lobbies_SnarkPane.md#snarkpane) 8 | 9 | ## Functions 10 | 11 | ### SnarkPane 12 | 13 | ▸ **SnarkPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_SpaceJunkPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/SpaceJunkPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SpaceJunkPane](Frontend_Panes_Lobbies_SpaceJunkPane.md#spacejunkpane) 8 | 9 | ## Functions 10 | 11 | ### SpaceJunkPane 12 | 13 | ▸ **SpaceJunkPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_SpaceTypeBiomePane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/SpaceTypeBiomePane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SpaceTypeBiomePane](Frontend_Panes_Lobbies_SpaceTypeBiomePane.md#spacetypebiomepane) 8 | 9 | ## Functions 10 | 11 | ### SpaceTypeBiomePane 12 | 13 | ▸ **SpaceTypeBiomePane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_Lobbies_WorldSizePane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/Lobbies/WorldSizePane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [WorldSizePane](Frontend_Panes_Lobbies_WorldSizePane.md#worldsizepane) 8 | 9 | ## Functions 10 | 11 | ### WorldSizePane 12 | 13 | ▸ **WorldSizePane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------ | :------------------------------------------------------------------------------------------ | 19 | | `__namedParameters` | [`LobbiesPaneProps`](../interfaces/Frontend_Panes_Lobbies_LobbiesUtils.LobbiesPaneProps.md) | 20 | 21 | #### Returns 22 | 23 | `Element` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ManagePlanetArtifacts_ArtifactActions.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ManagePlanetArtifacts/ArtifactActions 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ArtifactActions](Frontend_Panes_ManagePlanetArtifacts_ArtifactActions.md#artifactactions) 8 | 9 | ## Functions 10 | 11 | ### ArtifactActions 12 | 13 | ▸ **ArtifactActions**(`__namedParameters`): `null` \| `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :----------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.artifactId` | `ArtifactId` | 21 | | `__namedParameters.depositOn?` | `LocationId` | 22 | 23 | #### Returns 24 | 25 | `null` \| `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ManagePlanetArtifacts_SortBy.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ManagePlanetArtifacts/SortBy 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SortBy](Frontend_Panes_ManagePlanetArtifacts_SortBy.md#sortby) 8 | 9 | ## Functions 10 | 11 | ### SortBy 12 | 13 | ▸ **SortBy**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :---------------------------- | :---------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.sortBy` | `undefined` \| keyof `Upgrade` | 21 | | `__namedParameters.setSortBy` | (`k`: `undefined` \| keyof `Upgrade`) => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ManagePlanetArtifacts_UpgradeStatsView.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ManagePlanetArtifacts/UpgradeStatsView 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [UpgradeStatsView](Frontend_Panes_ManagePlanetArtifacts_UpgradeStatsView.md#upgradestatsview) 8 | 9 | ## Functions 10 | 11 | ### UpgradeStatsView 12 | 13 | ▸ **UpgradeStatsView**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------- | :------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.artifactType` | `ArtifactType` | 21 | | `__namedParameters.isActive` | `boolean` | 22 | | `__namedParameters.upgrade` | `Upgrade` | 23 | 24 | #### Returns 25 | 26 | `Element` 27 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_OnboardingPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/OnboardingPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [default](Frontend_Panes_OnboardingPane.md#default) 8 | 9 | ## Functions 10 | 11 | ### default 12 | 13 | ▸ **default**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_PlanetContextPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/PlanetContextPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetContextPane](Frontend_Panes_PlanetContextPane.md#planetcontextpane) 8 | - [SelectedPlanetHelpContent](Frontend_Panes_PlanetContextPane.md#selectedplanethelpcontent) 9 | 10 | ## Functions 11 | 12 | ### PlanetContextPane 13 | 14 | ▸ **PlanetContextPane**(`__namedParameters`): `Element` 15 | 16 | #### Parameters 17 | 18 | | Name | Type | 19 | | :-------------------------- | :----------- | 20 | | `__namedParameters` | `Object` | 21 | | `__namedParameters.visible` | `boolean` | 22 | | `__namedParameters.onClose` | () => `void` | 23 | 24 | #### Returns 25 | 26 | `Element` 27 | 28 | --- 29 | 30 | ### SelectedPlanetHelpContent 31 | 32 | ▸ **SelectedPlanetHelpContent**(): `Element` 33 | 34 | #### Returns 35 | 36 | `Element` 37 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_PlanetDexPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/PlanetDexPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetDexPane](Frontend_Panes_PlanetDexPane.md#planetdexpane) 8 | - [PlanetThumb](Frontend_Panes_PlanetDexPane.md#planetthumb) 9 | 10 | ## Functions 11 | 12 | ### PlanetDexPane 13 | 14 | ▸ **PlanetDexPane**(`__namedParameters`): `Element` 15 | 16 | #### Parameters 17 | 18 | | Name | Type | 19 | | :-------------------------- | :----------- | 20 | | `__namedParameters` | `Object` | 21 | | `__namedParameters.visible` | `boolean` | 22 | | `__namedParameters.onClose` | () => `void` | 23 | 24 | #### Returns 25 | 26 | `Element` 27 | 28 | --- 29 | 30 | ### PlanetThumb 31 | 32 | ▸ **PlanetThumb**(`__namedParameters`): `Element` 33 | 34 | #### Parameters 35 | 36 | | Name | Type | 37 | | :------------------------- | :------- | 38 | | `__namedParameters` | `Object` | 39 | | `__namedParameters.planet` | `Planet` | 40 | 41 | #### Returns 42 | 43 | `Element` 44 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_PlanetInfoPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/PlanetInfoPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetInfoPane](Frontend_Panes_PlanetInfoPane.md#planetinfopane) 8 | 9 | ## Functions 10 | 11 | ### PlanetInfoPane 12 | 13 | ▸ **PlanetInfoPane**(`__namedParameters`): `Element` 14 | 15 | This pane contains misc info about the planet, which does not have a place in the main Planet Context Pane. 16 | 17 | #### Parameters 18 | 19 | | Name | Type | 20 | | :---------------------------------- | :-------------------------- | 21 | | `__namedParameters` | `Object` | 22 | | `__namedParameters.initialPlanetId` | `undefined` \| `LocationId` | 23 | 24 | #### Returns 25 | 26 | `Element` 27 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_PlayerArtifactsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/PlayerArtifactsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlayerArtifactsPane](Frontend_Panes_PlayerArtifactsPane.md#playerartifactspane) 8 | 9 | ## Functions 10 | 11 | ### PlayerArtifactsPane 12 | 13 | ▸ **PlayerArtifactsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_PrivatePane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/PrivatePane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PrivatePane](Frontend_Panes_PrivatePane.md#privatepane) 8 | 9 | ## Functions 10 | 11 | ### PrivatePane 12 | 13 | ▸ **PrivatePane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_SettingsPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/SettingsPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [SettingsPane](Frontend_Panes_SettingsPane.md#settingspane) 8 | 9 | ## Functions 10 | 11 | ### SettingsPane 12 | 13 | ▸ **SettingsPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------------- | :-------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.ethConnection` | `EthConnection` | 21 | | `__namedParameters.visible` | `boolean` | 22 | | `__namedParameters.onClose` | () => `void` | 23 | | `__namedParameters.onOpenPrivate` | () => `void` | 24 | 25 | #### Returns 26 | 27 | `Element` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_TransactionLogPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/TransactionLogPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TransactionLogPane](Frontend_Panes_TransactionLogPane.md#transactionlogpane) 8 | 9 | ## Functions 10 | 11 | ### TransactionLogPane 12 | 13 | ▸ **TransactionLogPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_TutorialPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/TutorialPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TutorialPane](Frontend_Panes_TutorialPane.md#tutorialpane) 8 | 9 | ## Functions 10 | 11 | ### TutorialPane 12 | 13 | ▸ **TutorialPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------- | :----------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.tutorialHook` | [`Hook`](types_global_GlobalTypes.md#hook)<`boolean`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_TwitterVerifyPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/TwitterVerifyPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TwitterVerifyPane](Frontend_Panes_TwitterVerifyPane.md#twitterverifypane) 8 | 9 | ## Functions 10 | 11 | ### TwitterVerifyPane 12 | 13 | ▸ **TwitterVerifyPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :----------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.visible` | `boolean` | 21 | | `__namedParameters.onClose` | () => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_WikiPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/WikiPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [WikiPane](Frontend_Panes_WikiPane.md#wikipane) 8 | 9 | ## Functions 10 | 11 | ### WikiPane 12 | 13 | ▸ **WikiPane**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :--------------------------- | :---------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.children` | `ReactNode` | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Panes_ZoomPane.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Panes/ZoomPane 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [ZoomPane](Frontend_Panes_ZoomPane.md#zoompane) 8 | 9 | ## Functions 10 | 11 | ### ZoomPane 12 | 13 | ▸ **ZoomPane**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Renderers_GifRenderer.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Renderers/GifRenderer 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [GifRenderer](../classes/Frontend_Renderers_GifRenderer.GifRenderer.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Renderers_LandingPageCanvas.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Renderers/LandingPageCanvas 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [LandingPageBackground](Frontend_Renderers_LandingPageCanvas.md#landingpagebackground) 8 | - [default](Frontend_Renderers_LandingPageCanvas.md#default) 9 | 10 | ## Functions 11 | 12 | ### LandingPageBackground 13 | 14 | ▸ **LandingPageBackground**(): `Element` 15 | 16 | #### Returns 17 | 18 | `Element` 19 | 20 | --- 21 | 22 | ### default 23 | 24 | ▸ **default**(): `Element` 25 | 26 | #### Returns 27 | 28 | `Element` 29 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Renderers_PlanetscapeRenderer_PlanetIcons.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Renderers/PlanetscapeRenderer/PlanetIcons 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetIcons](Frontend_Renderers_PlanetscapeRenderer_PlanetIcons.md#planeticons) 8 | 9 | ## Functions 10 | 11 | ### PlanetIcons 12 | 13 | ▸ **PlanetIcons**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------- | :---------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.planet` | `undefined` \| `Planet` | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Styles_Colors.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Styles/Colors 2 | 3 | ## Table of contents 4 | 5 | ### Variables 6 | 7 | - [ANCIENT_BLUE](Frontend_Styles_Colors.md#ancient_blue) 8 | - [ANCIENT_PURPLE](Frontend_Styles_Colors.md#ancient_purple) 9 | - [BiomeBackgroundColors](Frontend_Styles_Colors.md#biomebackgroundcolors) 10 | - [BiomeTextColors](Frontend_Styles_Colors.md#biometextcolors) 11 | - [RarityColors](Frontend_Styles_Colors.md#raritycolors) 12 | 13 | ## Variables 14 | 15 | ### ANCIENT_BLUE 16 | 17 | • `Const` **ANCIENT_BLUE**: `"#b2fffc"` 18 | 19 | --- 20 | 21 | ### ANCIENT_PURPLE 22 | 23 | • `Const` **ANCIENT_PURPLE**: `"#d23191"` 24 | 25 | --- 26 | 27 | ### BiomeBackgroundColors 28 | 29 | • `Const` **BiomeBackgroundColors**: `Object` 30 | 31 | --- 32 | 33 | ### BiomeTextColors 34 | 35 | • `Const` **BiomeTextColors**: `Object` 36 | 37 | --- 38 | 39 | ### RarityColors 40 | 41 | • `Const` **RarityColors**: `Object` 42 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Styles_Mixins.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Styles/Mixins 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [planetBackground](Frontend_Styles_Mixins.md#planetbackground) 8 | 9 | ## Functions 10 | 11 | ### planetBackground 12 | 13 | ▸ **planetBackground**(`__namedParameters`): `""` \| `FlattenSimpleInterpolation` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------- | :---------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.planet` | `undefined` \| `Planet` | 21 | 22 | #### Returns 23 | 24 | `""` \| `FlattenSimpleInterpolation` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_Hooks.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/Hooks 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [usePoll](Frontend_Utils_Hooks.md#usepoll) 8 | 9 | ## Functions 10 | 11 | ### usePoll 12 | 13 | ▸ **usePoll**(`cb`, `poll?`, `execFirst?`): `void` 14 | 15 | Executes the callback `cb` every `poll` ms 16 | 17 | #### Parameters 18 | 19 | | Name | Type | Default value | Description | 20 | | :---------- | :----------------------- | :------------ | :------------------------------------------------- | 21 | | `cb` | () => `void` | `undefined` | callback to execute | 22 | | `poll` | `undefined` \| `number` | `undefined` | ms to poll | 23 | | `execFirst` | `undefined` \| `boolean` | `undefined` | if we want to execute the callback on first render | 24 | 25 | #### Returns 26 | 27 | `void` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_TerminalTypes.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/TerminalTypes 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [TerminalTextStyle](../enums/Frontend_Utils_TerminalTypes.TerminalTextStyle.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_TimeUtils.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/TimeUtils 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [formatDuration](Frontend_Utils_TimeUtils.md#formatduration) 8 | 9 | ## Functions 10 | 11 | ### formatDuration 12 | 13 | ▸ **formatDuration**(`durationMs`): `string` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :----------- | :------- | 19 | | `durationMs` | `number` | 20 | 21 | #### Returns 22 | 23 | `string` 24 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_UIEmitter.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/UIEmitter 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [UIEmitterEvent](../enums/Frontend_Utils_UIEmitter.UIEmitterEvent.md) 8 | 9 | ### Classes 10 | 11 | - [default](../classes/Frontend_Utils_UIEmitter.default.md) 12 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_constants.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/constants 2 | 3 | ## Table of contents 4 | 5 | ### Enumerations 6 | 7 | - [DFZIndex](../enums/Frontend_Utils_constants.DFZIndex.md) 8 | 9 | ### Variables 10 | 11 | - [LOCATION_ID_UB](Frontend_Utils_constants.md#location_id_ub) 12 | - [MAX_CHUNK_SIZE](Frontend_Utils_constants.md#max_chunk_size) 13 | - [MIN_CHUNK_SIZE](Frontend_Utils_constants.md#min_chunk_size) 14 | 15 | ## Variables 16 | 17 | ### LOCATION_ID_UB 18 | 19 | • `Const` **LOCATION_ID_UB**: `BigInteger` 20 | 21 | --- 22 | 23 | ### MAX_CHUNK_SIZE 24 | 25 | • `Const` **MAX_CHUNK_SIZE**: `number` 26 | 27 | **`tutorial`** to speed up the game's background rendering code, it is possible to set this value to 28 | be a higher power of two. This means that smaller chunks will be merged into larger chunks via 29 | the algorithms implemented in {@link ChunkUtils}. 30 | 31 | {@code Math.floor(Math.pow(2, 16))} should be large enough for most. 32 | 33 | --- 34 | 35 | ### MIN_CHUNK_SIZE 36 | 37 | • `Const` **MIN_CHUNK_SIZE**: `16` 38 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Utils_createDefinedContext.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Utils/createDefinedContext 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [createDefinedContext](Frontend_Utils_createDefinedContext.md#createdefinedcontext) 8 | 9 | ## Functions 10 | 11 | ### createDefinedContext 12 | 13 | ▸ **createDefinedContext**<`T`\>(): `ContextHookWithProvider`<`T`\> 14 | 15 | Return a hook and a provider which return a value that must be defined. Normally is difficult 16 | because `React.createContext()` defaults to `undefined`. 17 | 18 | `useDefinedContext()` must be called inside of `provider`, otherwise an error will be thrown. 19 | 20 | #### Type parameters 21 | 22 | | Name | 23 | | :--- | 24 | | `T` | 25 | 26 | #### Returns 27 | 28 | `ContextHookWithProvider`<`T`\> 29 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_CadetWormhole.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/CadetWormhole 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [CadetWormhole](Frontend_Views_CadetWormhole.md#cadetwormhole) 8 | 9 | ## Functions 10 | 11 | ### CadetWormhole 12 | 13 | ▸ **CadetWormhole**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------- | :------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.imgUrl` | `string` | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_DFErrorBoundary.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/DFErrorBoundary 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [DFErrorBoundary](../classes/Frontend_Views_DFErrorBoundary.DFErrorBoundary.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_DarkForestTips.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/DarkForestTips 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [DarkForestTips](Frontend_Views_DarkForestTips.md#darkforesttips) 8 | - [MakeDarkForestTips](Frontend_Views_DarkForestTips.md#makedarkforesttips) 9 | 10 | ## Functions 11 | 12 | ### DarkForestTips 13 | 14 | ▸ **DarkForestTips**(`__namedParameters`): `Element` 15 | 16 | #### Parameters 17 | 18 | | Name | Type | 19 | | :------------------------- | :------------------------ | 20 | | `__namedParameters` | `Object` | 21 | | `__namedParameters.tips` | (`string` \| `Element`)[] | 22 | | `__namedParameters.title?` | `string` | 23 | 24 | #### Returns 25 | 26 | `Element` 27 | 28 | --- 29 | 30 | ### MakeDarkForestTips 31 | 32 | ▸ **MakeDarkForestTips**(`tips`): `Element` 33 | 34 | #### Parameters 35 | 36 | | Name | Type | 37 | | :----- | :--------- | 38 | | `tips` | `string`[] | 39 | 40 | #### Returns 41 | 42 | `Element` 43 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_EmojiPicker.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/EmojiPicker 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [EmojiPicker](Frontend_Views_EmojiPicker.md#emojipicker) 8 | 9 | ## Functions 10 | 11 | ### EmojiPicker 12 | 13 | ▸ **EmojiPicker**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :--------------------------- | :---------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.emoji` | `undefined` \| `string` | 21 | | `__namedParameters.setEmoji` | (`emoji`: `string`) => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_EmojiPlanetNotification.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/EmojiPlanetNotification 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [EmojiPlanetNotification](Frontend_Views_EmojiPlanetNotification.md#emojiplanetnotification) 8 | 9 | ## Functions 10 | 11 | ### EmojiPlanetNotification 12 | 13 | ▸ **EmojiPlanetNotification**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.wrapper` | [`Wrapper`](../classes/Backend_Utils_Wrapper.Wrapper.md)<`undefined` \| `Planet`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_GameWindowLayout.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/GameWindowLayout 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [GameWindowLayout](Frontend_Views_GameWindowLayout.md#gamewindowlayout) 8 | 9 | ## Functions 10 | 11 | ### GameWindowLayout 12 | 13 | ▸ **GameWindowLayout**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------------- | :------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.terminalVisible` | `boolean` | 21 | | `__namedParameters.setTerminalVisible` | (`visible`: `boolean`) => `void` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_GenericErrorBoundary.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/GenericErrorBoundary 2 | 3 | ## Table of contents 4 | 5 | ### Classes 6 | 7 | - [GenericErrorBoundary](../classes/Frontend_Views_GenericErrorBoundary.GenericErrorBoundary.md) 8 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_LandingPageRoundArt.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/LandingPageRoundArt 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [LandingPageRoundArt](Frontend_Views_LandingPageRoundArt.md#landingpageroundart) 8 | 9 | ## Functions 10 | 11 | ### LandingPageRoundArt 12 | 13 | ▸ **LandingPageRoundArt**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_Leaderboard.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/Leaderboard 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [LeadboardDisplay](Frontend_Views_Leaderboard.md#leadboarddisplay) 8 | 9 | ## Functions 10 | 11 | ### LeadboardDisplay 12 | 13 | ▸ **LeadboardDisplay**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_NetworkHealth.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/NetworkHealth 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [NetworkHealth](Frontend_Views_NetworkHealth.md#networkhealth) 8 | 9 | ## Functions 10 | 11 | ### NetworkHealth 12 | 13 | ▸ **NetworkHealth**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_Notifications.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/Notifications 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [NotificationsPane](Frontend_Views_Notifications.md#notificationspane) 8 | 9 | ## Functions 10 | 11 | ### NotificationsPane 12 | 13 | ▸ **NotificationsPane**(): `Element` 14 | 15 | React component in charge of listening for new notifications and displaying them interactively to 16 | the user. 17 | 18 | #### Returns 19 | 20 | `Element` 21 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_Paused.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/Paused 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [Paused](Frontend_Views_Paused.md#paused) 8 | 9 | ## Functions 10 | 11 | ### Paused 12 | 13 | ▸ **Paused**(): `Element` 14 | 15 | #### Returns 16 | 17 | `Element` 18 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_PlanetLink.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/PlanetLink 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [PlanetLink](Frontend_Views_PlanetLink.md#planetlink) 8 | 9 | ## Functions 10 | 11 | ### PlanetLink 12 | 13 | ▸ **PlanetLink**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :--------------------------- | :---------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.children` | `ReactNode` | 21 | | `__namedParameters.planet` | `Planet` | 22 | 23 | #### Returns 24 | 25 | `Element` 26 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_TabbedView.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/TabbedView 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TabbedView](Frontend_Views_TabbedView.md#tabbedview) 8 | 9 | ## Functions 10 | 11 | ### TabbedView 12 | 13 | ▸ **TabbedView**(`__namedParameters`): `Element` 14 | 15 | This component allows you to render several tabs of content. Each tab can be selected for viewing 16 | by clicking on its corresponding tab button. Useful for displaying lots of slightly different but 17 | related information to the user. 18 | 19 | #### Parameters 20 | 21 | | Name | Type | 22 | | :------------------------------ | :------------------------------------ | 23 | | `__namedParameters` | `Object` | 24 | | `__namedParameters.style?` | `CSSProperties` | 25 | | `__namedParameters.tabTitles` | `string`[] | 26 | | `__namedParameters.tabContents` | (`tabIndex`: `number`) => `ReactNode` | 27 | 28 | #### Returns 29 | 30 | `Element` 31 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_Terminal.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/Terminal 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [TerminalHandle](../interfaces/Frontend_Views_Terminal.TerminalHandle.md) 8 | - [TerminalProps](../interfaces/Frontend_Views_Terminal.TerminalProps.md) 9 | 10 | ### Variables 11 | 12 | - [Terminal](Frontend_Views_Terminal.md#terminal) 13 | 14 | ## Variables 15 | 16 | ### Terminal 17 | 18 | • `Const` **Terminal**: `ForwardRefExoticComponent`<[`TerminalProps`](../interfaces/Frontend_Views_Terminal.TerminalProps.md) & `RefAttributes`<`undefined` \| [`TerminalHandle`](../interfaces/Frontend_Views_Terminal.TerminalHandle.md)\>\> 19 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_TopBar.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/TopBar 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [TopBar](Frontend_Views_TopBar.md#topbar) 8 | 9 | ## Functions 10 | 11 | ### TopBar 12 | 13 | ▸ **TopBar**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------------ | :----------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.twitterVerifyHook` | [`Hook`](types_global_GlobalTypes.md#hook)<`boolean`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_UpgradePreview.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/UpgradePreview 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [UpgradePreview](Frontend_Views_UpgradePreview.md#upgradepreview) 8 | 9 | ## Functions 10 | 11 | ### UpgradePreview 12 | 13 | ▸ **UpgradePreview**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :------------------------------ | :--------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.branchName` | `undefined` \| `UpgradeBranchName` | 21 | | `__namedParameters.cantUpgrade` | `boolean` | 22 | | `__namedParameters.planet` | `undefined` \| `Planet` | 23 | | `__namedParameters.upgrade` | `undefined` \| `Upgrade` | 24 | 25 | #### Returns 26 | 27 | `Element` 28 | -------------------------------------------------------------------------------- /docs/modules/Frontend_Views_WithdrawSilver.md: -------------------------------------------------------------------------------- 1 | # Module: Frontend/Views/WithdrawSilver 2 | 3 | ## Table of contents 4 | 5 | ### Functions 6 | 7 | - [WithdrawSilver](Frontend_Views_WithdrawSilver.md#withdrawsilver) 8 | 9 | ## Functions 10 | 11 | ### WithdrawSilver 12 | 13 | ▸ **WithdrawSilver**(`__namedParameters`): `Element` 14 | 15 | #### Parameters 16 | 17 | | Name | Type | 18 | | :-------------------------- | :--------------------------------------------------------------------------------- | 19 | | `__namedParameters` | `Object` | 20 | | `__namedParameters.wrapper` | [`Wrapper`](../classes/Backend_Utils_Wrapper.Wrapper.md)<`undefined` \| `Planet`\> | 21 | 22 | #### Returns 23 | 24 | `Element` 25 | -------------------------------------------------------------------------------- /docs/modules/types_darkforest_api_ChunkStoreTypes.md: -------------------------------------------------------------------------------- 1 | # Module: \_types/darkforest/api/ChunkStoreTypes 2 | 3 | ## Table of contents 4 | 5 | ### Interfaces 6 | 7 | - [ChunkStore](../interfaces/types_darkforest_api_ChunkStoreTypes.ChunkStore.md) 8 | - [PersistedChunk](../interfaces/types_darkforest_api_ChunkStoreTypes.PersistedChunk.md) 9 | - [PersistedLocation](../interfaces/types_darkforest_api_ChunkStoreTypes.PersistedLocation.md) 10 | 11 | ### Type aliases 12 | 13 | - [BucketId](types_darkforest_api_ChunkStoreTypes.md#bucketid) 14 | - [ChunkId](types_darkforest_api_ChunkStoreTypes.md#chunkid) 15 | 16 | ## Type aliases 17 | 18 | ### BucketId 19 | 20 | Ƭ **BucketId**: `Abstract`<`string`, `"BucketId"`\> 21 | 22 | one of "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" 23 | 24 | --- 25 | 26 | ### ChunkId 27 | 28 | Ƭ **ChunkId**: `Abstract`<`string`, `"ChunkId"`\> 29 | 30 | Don't worry about the values here. Never base code off the values here. PLEASE. 31 | -------------------------------------------------------------------------------- /docs/modules/types_darkforest_api_UtilityServerAPITypes.md: -------------------------------------------------------------------------------- 1 | # Module: \_types/darkforest/api/UtilityServerAPITypes 2 | 3 | ## Table of contents 4 | 5 | ### Type aliases 6 | 7 | - [AddressTwitterMap](types_darkforest_api_UtilityServerAPITypes.md#addresstwittermap) 8 | 9 | ## Type aliases 10 | 11 | ### AddressTwitterMap 12 | 13 | Ƭ **AddressTwitterMap**: `Object` 14 | 15 | #### Index signature 16 | 17 | ▪ [ethAddress: `string`]: `string` 18 | -------------------------------------------------------------------------------- /docs/modules/types_file_loader_FileWorkerTypes.__darkforest_eth_contracts_abis___json_.md: -------------------------------------------------------------------------------- 1 | # Namespace: "@dfdao/contracts/abis/\*.json" 2 | 3 | [\_types/file-loader/FileWorkerTypes](types_file_loader_FileWorkerTypes.md)."@dfdao/contracts/abis/\*.json" 4 | 5 | ## Table of contents 6 | 7 | ### Variables 8 | 9 | - [default](types_file_loader_FileWorkerTypes.__darkforest_eth_contracts_abis___json_.md#default) 10 | 11 | ## Variables 12 | 13 | ### default 14 | 15 | • `Const` **default**: `string` 16 | -------------------------------------------------------------------------------- /docs/modules/types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___wasm_.md: -------------------------------------------------------------------------------- 1 | # Namespace: "@dfdao/snarks/\*.wasm" 2 | 3 | [\_types/file-loader/FileWorkerTypes](types_file_loader_FileWorkerTypes.md)."@dfdao/snarks/\*.wasm" 4 | 5 | ## Table of contents 6 | 7 | ### Variables 8 | 9 | - [default](types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___wasm_.md#default) 10 | 11 | ## Variables 12 | 13 | ### default 14 | 15 | • `Const` **default**: `string` 16 | -------------------------------------------------------------------------------- /docs/modules/types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___zkey_.md: -------------------------------------------------------------------------------- 1 | # Namespace: "@dfdao/snarks/\*.zkey" 2 | 3 | [\_types/file-loader/FileWorkerTypes](types_file_loader_FileWorkerTypes.md)."@dfdao/snarks/\*.zkey" 4 | 5 | ## Table of contents 6 | 7 | ### Variables 8 | 9 | - [default](types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___zkey_.md#default) 10 | 11 | ## Variables 12 | 13 | ### default 14 | 15 | • `Const` **default**: `string` 16 | -------------------------------------------------------------------------------- /docs/modules/types_file_loader_FileWorkerTypes.md: -------------------------------------------------------------------------------- 1 | # Module: \_types/file-loader/FileWorkerTypes 2 | 3 | ## Table of contents 4 | 5 | ### Namespaces 6 | 7 | - ["@dfdao/contracts/abis/\*.json"](types_file_loader_FileWorkerTypes.__darkforest_eth_contracts_abis___json_.md) 8 | - ["@dfdao/snarks/\*.wasm"](types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___wasm_.md) 9 | - ["@dfdao/snarks/\*.zkey"](types_file_loader_FileWorkerTypes.__darkforest_eth_snarks___zkey_.md) 10 | -------------------------------------------------------------------------------- /img/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/link.png -------------------------------------------------------------------------------- /img/log_in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/log_in.png -------------------------------------------------------------------------------- /img/look.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/look.png -------------------------------------------------------------------------------- /img/netlify_deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/netlify_deploy.png -------------------------------------------------------------------------------- /img/netlify_import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/netlify_import.png -------------------------------------------------------------------------------- /img/netlify_prod_deploy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/netlify_prod_deploy.png -------------------------------------------------------------------------------- /img/site_id.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/site_id.png -------------------------------------------------------------------------------- /img/stop_auto_publishing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/img/stop_auto_publishing.png -------------------------------------------------------------------------------- /last_updated.txt: -------------------------------------------------------------------------------- 1 | last updated: Mon Apr 11 18:20:58 UTC 2022 2 | -------------------------------------------------------------------------------- /lightforest.toml: -------------------------------------------------------------------------------- 1 | [round] 2 | END_TIME = "2022-08-15T00:00:00.000Z" 3 | START_TIME = "2022-08-12T00:00:00.000Z" 4 | 5 | DESCRIPTION = "Dark Forest is a massively-multiplayer online strategy game inspired by Liu Cixin's Three-Body trilogy." 6 | MOVE_WEIGHT = 1 7 | TIME_WEIGHT = 1 8 | TITLE = "The Amazing Map" 9 | ORG_NAME = "dfdao" 10 | 11 | BRONZE_RANK = 180 12 | CONFIG_HASH = '0x12c40c98747fc86ccdccc3a716ffa089497d7de3bb5a967ed8b36a1d521c54bc' 13 | GOLD_RANK = 60 14 | SILVER_RANK = 120 15 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | command = "yarn build" 3 | functions = "functions" 4 | publish = "dist" 5 | 6 | [[redirects]] 7 | from = "/*" 8 | to = "/index.html" 9 | status = 200 10 | 11 | [[redirects]] 12 | from = "/archive/8d8a7d2a/*" 13 | to = "https://6247dc3ca1de3b6ce0c8e184--df-prod.netlify.app/:splat" 14 | status = 200 15 | 16 | ## (optional) Settings for Netlify Dev 17 | ## https://github.com/netlify/cli/blob/master/docs/netlify-dev.md#project-detection 18 | #[dev] 19 | # command = "yarn start" # Command to start your dev server 20 | # port = 3000 # Port that the dev server will be listening on 21 | # publish = "dist" # Folder with the static content for _redirect file 22 | 23 | ## more info on configuring this file: https://www.netlify.com/docs/netlify-toml-reference/ 24 | -------------------------------------------------------------------------------- /plugins/CircleAfter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/plugins/CircleAfter.png -------------------------------------------------------------------------------- /plugins/CircleBefore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/plugins/CircleBefore.png -------------------------------------------------------------------------------- /plugins/DisableAfter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/plugins/DisableAfter.png -------------------------------------------------------------------------------- /plugins/DisableBefore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/plugins/DisableBefore.png -------------------------------------------------------------------------------- /plugins/PluginTemplate.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Remember, you have access these globals: 3 | * 1. df - Just like the df object in your console. 4 | * 2. ui - For interacting with the game's user interface. 5 | * 6 | * Let's log these to the console when you run your plugin! 7 | */ 8 | console.log(df, ui); 9 | 10 | class PluginTemplate implements DFPlugin { 11 | constructor() {} 12 | 13 | /** 14 | * Called when plugin is launched with the "run" button. 15 | */ 16 | async render(container: HTMLDivElement) {} 17 | 18 | /** 19 | * Called when plugin modal is closed. 20 | */ 21 | destroy() {} 22 | } 23 | 24 | /** 25 | * And don't forget to export it! 26 | */ 27 | export default PluginTemplate; 28 | -------------------------------------------------------------------------------- /plugins/README.md: -------------------------------------------------------------------------------- 1 | # Plugins 2 | 3 | TypeScript or JavaScript files in this directory will automatically be bundled and served as plugins when running `df-plugin-dev-server` in the root of the game `client`! 4 | 5 | Check out [Plugin Development](../README.md#plugin-development) in the main README for the steps to set it up. 6 | -------------------------------------------------------------------------------- /plugins/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/plugins/square.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicon.ico -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-192x192.png -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-36x36.png -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-48x48.png -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-72x72.png -------------------------------------------------------------------------------- /public/favicons.ico/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/android-icon-96x96.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon-precomposed.png -------------------------------------------------------------------------------- /public/favicons.ico/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/apple-icon.png -------------------------------------------------------------------------------- /public/favicons.ico/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /public/favicons.ico/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicons.ico/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/favicon-32x32.png -------------------------------------------------------------------------------- /public/favicons.ico/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/favicon-96x96.png -------------------------------------------------------------------------------- /public/favicons.ico/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/favicons.ico/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/favicons.ico/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/favicons.ico/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/favicons.ico/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/get_involved/WTGI_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/WTGI_full.png -------------------------------------------------------------------------------- /public/get_involved/community_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/community_round.png -------------------------------------------------------------------------------- /public/get_involved/lobby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/lobby.png -------------------------------------------------------------------------------- /public/get_involved/plugin_render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/plugin_render.png -------------------------------------------------------------------------------- /public/get_involved/reveiw_plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/reveiw_plugin.png -------------------------------------------------------------------------------- /public/get_involved/write_plugin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/get_involved/write_plugin.png -------------------------------------------------------------------------------- /public/icons/alerts/artifacts/prospect.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/alerts/backgrounds/1.svg: -------------------------------------------------------------------------------- 1 | background -------------------------------------------------------------------------------- /public/icons/alerts/backgrounds/2.svg: -------------------------------------------------------------------------------- 1 | background -------------------------------------------------------------------------------- /public/icons/alerts/biomes/ocean.svg: -------------------------------------------------------------------------------- 1 | alert_icons2 -------------------------------------------------------------------------------- /public/icons/alerts/borders/1.svg: -------------------------------------------------------------------------------- 1 | border -------------------------------------------------------------------------------- /public/icons/alerts/borders/2.svg: -------------------------------------------------------------------------------- 1 | border -------------------------------------------------------------------------------- /public/icons/alerts/combat/planetattacked.svg: -------------------------------------------------------------------------------- 1 | alert_icons2 -------------------------------------------------------------------------------- /public/icons/alerts/combat/planetlost.svg: -------------------------------------------------------------------------------- 1 | alert_icons2 -------------------------------------------------------------------------------- /public/icons/alerts/combat/planetsupported.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/icons/alerts/generic/generic.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/alerts/transactions/accepted.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/alerts/transactions/confirmed.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/alerts/transactions/declined.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/alerts/transactions/initialized.svg: -------------------------------------------------------------------------------- 1 | alert_ -------------------------------------------------------------------------------- /public/icons/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/broadcast.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/crown.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/help.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/leaderboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/pause.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/pirates.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/planetdex.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/icons/play.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/population.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/populationgrowth.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /public/icons/range.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/rank1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/rank2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/rank3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/silver.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/target.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/icons/upgrade.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /public/img/404-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/404-text.png -------------------------------------------------------------------------------- /public/img/cadet-wormhole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/cadet-wormhole.png -------------------------------------------------------------------------------- /public/img/deathstar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/deathstar.png -------------------------------------------------------------------------------- /public/img/destroyedbg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/destroyedbg.png -------------------------------------------------------------------------------- /public/img/epicbattle.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/epicbattle.jpg -------------------------------------------------------------------------------- /public/img/no-contract-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/no-contract-text.png -------------------------------------------------------------------------------- /public/img/spacebg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/spacebg.jpg -------------------------------------------------------------------------------- /public/img/texture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/texture.jpg -------------------------------------------------------------------------------- /public/img/toodamnhigh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/toodamnhigh.jpg -------------------------------------------------------------------------------- /public/img/tutorial-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/tutorial-banner.png -------------------------------------------------------------------------------- /public/img/v05-cpc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/v05-cpc.png -------------------------------------------------------------------------------- /public/img/wrong-text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/img/wrong-text.png -------------------------------------------------------------------------------- /public/og_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/og_image.png -------------------------------------------------------------------------------- /public/ready-alert.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/ready-alert.mp3 -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | -------------------------------------------------------------------------------- /public/round_art/arena.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/arena.jpg -------------------------------------------------------------------------------- /public/round_art/galacticleague.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/galacticleague.jpg -------------------------------------------------------------------------------- /public/round_art/grandprix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/grandprix.png -------------------------------------------------------------------------------- /public/round_art/round3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/round3.jpg -------------------------------------------------------------------------------- /public/round_art/round4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/round4.jpg -------------------------------------------------------------------------------- /public/round_art/round5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/round_art/round5.jpg -------------------------------------------------------------------------------- /public/sprites/artifacts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/sprites/artifacts.png -------------------------------------------------------------------------------- /public/sprites/artifactthumbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/sprites/artifactthumbs.png -------------------------------------------------------------------------------- /public/sprites/glass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/public/sprites/glass.png -------------------------------------------------------------------------------- /src/Backend/Miner/PlanetUtils.ts: -------------------------------------------------------------------------------- 1 | import { getBytesFromHex } from "@dfdao/hexgen"; 2 | import { LocationId } from "@dfdao/types"; 3 | import * as bigInt from "big-integer"; 4 | 5 | export function planetLevelBelowLevel0Threshold( 6 | hex: LocationId, 7 | thresholds: number[] 8 | ): boolean { 9 | const levelBigInt = getBytesFromHex(hex, 4, 7); 10 | 11 | // Threshold [0] is the largest number. 12 | return levelBigInt < bigInt(thresholds[0]); 13 | } 14 | -------------------------------------------------------------------------------- /src/Backend/Network/EventLogger.ts: -------------------------------------------------------------------------------- 1 | export const enum EventType { 2 | Transaction = 'transaction', 3 | Diagnostics = 'diagnostics', 4 | } 5 | 6 | export class EventLogger { 7 | private static augmentEvent(event: unknown, eventType: EventType) { 8 | return Object.assign(event, { df_event_type: eventType }); 9 | } 10 | 11 | logEvent(eventType: EventType, event: unknown) { 12 | if (!process.env.DF_WEBSERVER_URL) { 13 | return; 14 | } 15 | 16 | fetch(`${process.env.DF_WEBSERVER_URL}/event`, { 17 | method: 'POST', 18 | body: JSON.stringify(EventLogger.augmentEvent(event, eventType)), 19 | headers: { 20 | 'Content-Type': 'application/json', 21 | }, 22 | }).catch((err) => console.log(err)); 23 | } 24 | } 25 | 26 | export const eventLogger = new EventLogger(); 27 | -------------------------------------------------------------------------------- /src/Backend/Network/GraphApi.ts: -------------------------------------------------------------------------------- 1 | export const getGraphQLData = async ( 2 | query: string, 3 | graphApiUrl: string 4 | ) => { 5 | const response = await fetch(graphApiUrl, { 6 | method: 'POST', 7 | body: JSON.stringify({ query, operationName: null, variables: null }), 8 | headers: { 9 | 'Content-Type': 'application/json', 10 | Accept: 'application/json', 11 | }, 12 | }); 13 | 14 | const json = await response.json(); 15 | return json; 16 | }; 17 | -------------------------------------------------------------------------------- /src/Backend/Network/GraphApi/AccountApi.ts: -------------------------------------------------------------------------------- 1 | import { EthAddress, RawAccount } from "@dfdao/types"; 2 | import { apiUrl, CONFIG_CONSTANTS } from "../../../Frontend/Utils/constants"; 3 | import { getGraphQLData } from "../GraphApi"; 4 | 5 | export async function loadAccountData( 6 | address: EthAddress 7 | ): Promise { 8 | const query = ` 9 | query { 10 | player(id:"${address}") { 11 | wins 12 | matches 13 | arenaPlayers { 14 | arena{ 15 | lobbyAddress, 16 | configHash, 17 | gameOver, 18 | startTime, 19 | ${CONFIG_CONSTANTS} 20 | } 21 | } 22 | } 23 | } 24 | `; 25 | return (await getGraphQLData(query, apiUrl)).data.player; 26 | } 27 | -------------------------------------------------------------------------------- /src/Backend/Network/GraphApi/LeaderboardApi.ts: -------------------------------------------------------------------------------- 1 | import { Leaderboard } from "@dfdao/types"; 2 | 3 | export async function loadLeaderboard(): Promise { 4 | if (!process.env.DF_WEBSERVER_URL) { 5 | return { entries: [], length: 0 }; 6 | } 7 | 8 | const address = `${process.env.DF_WEBSERVER_URL}/leaderboard`; 9 | const res = await fetch(address, { 10 | method: "GET", 11 | }); 12 | 13 | const rep = await res.json(); 14 | 15 | if (rep.error) { 16 | throw new Error(rep.error); 17 | } 18 | 19 | return rep; 20 | } 21 | -------------------------------------------------------------------------------- /src/Backend/Network/GraphApi/MapsApi.ts: -------------------------------------------------------------------------------- 1 | import { EthAddress } from "@dfdao/types"; 2 | import { apiUrl } from "../../../Frontend/Utils/constants"; 3 | import { getGraphQLData } from "../GraphApi"; 4 | 5 | export interface MapInfo { 6 | creator: EthAddress; 7 | configHash: string; 8 | lobbyAddress?: EthAddress; 9 | startTime?: number; 10 | winners?: EthAddress[]; 11 | } 12 | 13 | export async function loadRecentMaps( 14 | nMaps?: number, 15 | configHash?: string, 16 | creator?: string 17 | ): Promise { 18 | const where = configHash 19 | ? `configHash: "${configHash}"` 20 | : creator 21 | ? `creator: "${creator}"` 22 | : ""; 23 | const query = ` 24 | query { 25 | arenas(${ 26 | nMaps ? `first:${nMaps}` : `` 27 | }, orderBy:creationTime, orderDirection:desc, where:{${where}} ) { 28 | configHash 29 | creator 30 | lobbyAddress 31 | startTime 32 | } 33 | } 34 | `; 35 | return (await getGraphQLData(query, apiUrl)).data?.arenas; 36 | } 37 | -------------------------------------------------------------------------------- /src/Backend/Network/NetworkHealthApi.ts: -------------------------------------------------------------------------------- 1 | import { NetworkHealthSummary } from "@dfdao/types"; 2 | 3 | /** 4 | * The Dark Forest webserver keeps track of network health, this function loads that information 5 | * from the webserver. 6 | */ 7 | export async function loadNetworkHealth(): Promise { 8 | if (!process.env.DF_WEBSERVER_URL) { 9 | return []; 10 | } 11 | 12 | const result = await fetch(`${process.env.DF_WEBSERVER_URL}/network-health`, { 13 | method: "POST", 14 | headers: { 15 | "Content-Type": "application/json", 16 | }, 17 | }).then((x) => x.json()); 18 | 19 | return result as NetworkHealthSummary; 20 | } 21 | -------------------------------------------------------------------------------- /src/Backend/Plugins/PluginProcess.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * All plugins must conform to this interface. Provides facilities for 3 | * displaying an interactive UI, as well as references to game state, 4 | * which are set externally. 5 | */ 6 | export interface PluginProcess { 7 | new (): this; 8 | 9 | /** 10 | * If present, called once when the user clicks 'run' in the plugin 11 | * manager modal. 12 | */ 13 | render?: (into: HTMLDivElement) => void; 14 | 15 | /** 16 | * If present, called at the same framerate the the game is running at, 17 | * and allows you to draw on top of the game UI. 18 | */ 19 | draw?: (ctx: CanvasRenderingContext2D) => void; 20 | 21 | /** 22 | * Called when the plugin is unloaded. Plugins unload whenever the 23 | * plugin is edited (modified and saved, or deleted). 24 | */ 25 | destroy?: () => void; 26 | } 27 | -------------------------------------------------------------------------------- /src/Backend/Plugins/PluginTemplate.ts: -------------------------------------------------------------------------------- 1 | import dedent from 'ts-dedent'; 2 | 3 | export const PLUGIN_TEMPLATE = dedent` 4 | /** 5 | * Remember, you have access these globals: 6 | * 1. df - Just like the df object in your console. 7 | * 2. ui - For interacting with the game's user interface. 8 | * 9 | * Let's log these to the console when you run your plugin! 10 | */ 11 | console.log(df, ui); 12 | 13 | class Plugin { 14 | constructor() {} 15 | 16 | /** 17 | * Called when plugin is launched with the "run" button. 18 | */ 19 | async render(container) {} 20 | 21 | /** 22 | * Called when plugin modal is closed. 23 | */ 24 | destroy() {} 25 | } 26 | 27 | /** 28 | * And don't forget to export it! 29 | */ 30 | export default Plugin; 31 | `; 32 | -------------------------------------------------------------------------------- /src/Backend/Plugins/SerializedPlugin.ts: -------------------------------------------------------------------------------- 1 | import { PluginId } from "@dfdao/types"; 2 | 3 | /** 4 | * Represents a plugin that the user has added to their game. Used 5 | * internally for storing plugins. Not used for evaluating plugins! 6 | */ 7 | export interface SerializedPlugin { 8 | /** 9 | * Unique ID, assigned at the time the plugin is first saved. 10 | */ 11 | id: PluginId; 12 | 13 | /** 14 | * This code is a javascript object that complies with the 15 | * {@link PluginProcess} interface. 16 | */ 17 | code: string; 18 | 19 | /** 20 | * Shown in the list of plugins. 21 | */ 22 | name: string; 23 | 24 | /** 25 | * {@code new Date.getTime()} at the point that this plugin was saved 26 | */ 27 | lastEdited: number; 28 | } 29 | -------------------------------------------------------------------------------- /src/Backend/Utils/Coordinates.ts: -------------------------------------------------------------------------------- 1 | import { CanvasCoords, WorldCoords } from "@dfdao/types"; 2 | 3 | export const coordsEqual = (a: WorldCoords, b: WorldCoords): boolean => 4 | a.x === b.x && a.y === b.y; 5 | 6 | export const distL2 = ( 7 | a: CanvasCoords | WorldCoords, 8 | b: CanvasCoords | WorldCoords 9 | ): number => (a.x - b.x) ** 2 + (a.y - b.y) ** 2; 10 | 11 | export const vectorLength = (a: CanvasCoords | WorldCoords): number => 12 | Math.sqrt(a.x ** 2 + a.y ** 2); 13 | 14 | export const normalizeVector = (a: WorldCoords): WorldCoords => { 15 | const len = vectorLength(a); 16 | 17 | if (len < 0.00001) return a; // prevent div by 0 18 | 19 | return { 20 | x: a.x / len, 21 | y: a.y / len, 22 | }; 23 | }; 24 | 25 | export const scaleVector = (a: WorldCoords, k: number) => { 26 | const norm = normalizeVector(a); 27 | const len = vectorLength(a); 28 | 29 | return { 30 | x: norm.x * k * len, 31 | y: norm.y * k * len, 32 | }; 33 | }; 34 | -------------------------------------------------------------------------------- /src/Backend/Utils/Wrapper.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * React uses referential identity to detect changes, and rerender. Rather 3 | * than copying an object into a new object, to force a rerender, we can 4 | * just wrap it in a new {@code Wrapper}, which will force a rerender. 5 | */ 6 | export class Wrapper { 7 | public readonly value: T; 8 | 9 | public constructor(value: T) { 10 | this.value = value; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/Frontend/Components/Corner.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | interface CornerProps { 4 | children: React.ReactNode; 5 | top?: boolean; 6 | left?: boolean; 7 | right?: boolean; 8 | bottom?: boolean; 9 | style?: React.CSSProperties; 10 | } 11 | 12 | const cornerStyle: React.CSSProperties = { 13 | position: 'absolute', 14 | margin: '4px', 15 | }; 16 | 17 | export function Corner({ 18 | children, 19 | style = {}, 20 | top = false, 21 | bottom = false, 22 | left = false, 23 | right = false, 24 | }: CornerProps) { 25 | const posStyles: React.CSSProperties = { 26 | top: top ? 0 : undefined, 27 | bottom: bottom ? 0 : undefined, 28 | left: left ? 0 : undefined, 29 | right: right ? 0 : undefined, 30 | }; 31 | return ( 32 |
39 | {children} 40 |
41 | ); 42 | } 43 | -------------------------------------------------------------------------------- /src/Frontend/Components/DisplayGasPrices.tsx: -------------------------------------------------------------------------------- 1 | import { GasPrices } from "@dfdao/types"; 2 | import React from "react"; 3 | 4 | export function DisplayGasPrices({ gasPrices }: { gasPrices?: GasPrices }) { 5 | return ( 6 |
7 | {!gasPrices ? ( 8 | "unknown" 9 | ) : ( 10 | <> 11 | slo: {gasPrices.slow + " "} 12 | avg: {gasPrices.average + " "} 13 | fst: {gasPrices.fast + " "} 14 | 15 | )} 16 |
17 | ); 18 | } 19 | -------------------------------------------------------------------------------- /src/Frontend/Components/Labels/KeywordLabels.tsx: -------------------------------------------------------------------------------- 1 | import { TooltipName } from "@dfdao/types"; 2 | import React from "react"; 3 | import styled from "styled-components"; 4 | import { TooltipTrigger } from "../../Panes/Tooltip"; 5 | import dfstyles from "../../Styles/dfstyles"; 6 | 7 | const StyledSilverLabel = styled.span` 8 | color: ${dfstyles.colors.text}; 9 | `; 10 | export const SilverLabel = () => Silver; 11 | export const SilverLabelTip = () => ( 12 | 13 | 14 | 15 | ); 16 | 17 | const StyledScoreLabel = styled.span` 18 | color: ${dfstyles.colors.dfyellow}; 19 | -webkit-text-stroke: 1px; 20 | `; 21 | export const ScoreLabel = () => Score; 22 | 23 | export const ScoreLabelTip = () => ( 24 | 25 | 26 | 27 | ); 28 | -------------------------------------------------------------------------------- /src/Frontend/Components/Labels/LegendaryLabel.tsx: -------------------------------------------------------------------------------- 1 | import { ArtifactRarity, ArtifactRarityNames } from "@dfdao/types"; 2 | import React from "react"; 3 | import styled, { keyframes } from "styled-components"; 4 | import { RarityColors } from "../../Styles/Colors"; 5 | 6 | const color = keyframes` 7 | 0% { 8 | color: ${RarityColors[ArtifactRarity.Legendary]}; 9 | } 10 | 70% { 11 | color: ${RarityColors[ArtifactRarity.Legendary]}; 12 | } 13 | 100% { 14 | color: #ffffff; 15 | } 16 | `; 17 | 18 | const AnimDelay = styled.span<{ i: number }>` 19 | animation: ${color} 1s linear infinite alternate; 20 | ${({ i }) => `animation-delay: ${-i * 0.04}s;`} 21 | `; 22 | 23 | const Anim = styled.span` 24 | color: ${RarityColors[ArtifactRarity.Legendary]}; 25 | `; 26 | 27 | function LegendaryLabelRaw() { 28 | return ( 29 | 30 | {ArtifactRarityNames[ArtifactRarity.Legendary].split("").map((c, i) => ( 31 | 32 | {c === " " ? <>  : c} 33 | 34 | ))} 35 | 36 | ); 37 | } 38 | 39 | export const LegendaryLabel = React.memo(LegendaryLabelRaw); 40 | -------------------------------------------------------------------------------- /src/Frontend/Components/Labels/ModifierLabels.tsx: -------------------------------------------------------------------------------- 1 | import { ModifierType, ModifierTypeNames } from "@dfdao/types"; 2 | import React from "react"; 3 | 4 | export const ModifierText = ({ modifier }: { modifier: ModifierType }) => ( 5 | <>{ModifierTypeNames[modifier as ModifierType]} 6 | ); 7 | 8 | // combined labels 9 | -------------------------------------------------------------------------------- /src/Frontend/Components/Labels/SpaceshipLabel.tsx: -------------------------------------------------------------------------------- 1 | import { 2 | SpaceshipType, 3 | SpaceshipTypeNames, 4 | SpaceshipTypeDesc, 5 | } from "@dfdao/types"; 6 | import React from "react"; 7 | import styled from "styled-components"; 8 | import { RarityColors } from "../../Styles/Colors"; 9 | import { Smaller } from "../Text"; 10 | 11 | export const SpaceshipText = ({ spaceship }: { spaceship: SpaceshipType }) => ( 12 | <>{SpaceshipTypeNames[spaceship]} 13 | ); 14 | 15 | export const SpaceshipDescription = ({ 16 | spaceship, 17 | }: { 18 | spaceship: SpaceshipType; 19 | }) => {SpaceshipTypeDesc[spaceship]}; 20 | 21 | export const StyledSpaceshipLabel = styled.span<{ spaceship: SpaceshipType }>` 22 | color: ${({ spaceship }) => RarityColors[spaceship + 1]}; 23 | `; 24 | 25 | export const SpaceshipLabel = ({ spaceship }: { spaceship: SpaceshipType }) => ( 26 | 27 | 28 | 29 | ); 30 | -------------------------------------------------------------------------------- /src/Frontend/Components/LoadingSpinner.tsx: -------------------------------------------------------------------------------- 1 | import React, { useEffect, useState } from 'react'; 2 | 3 | export function LoadingSpinner({ initialText, rate}: { initialText?: string; rate?: number }) { 4 | const speed = rate || 100; 5 | const text = initialText || 'Loading...'; 6 | const [currentText, setCurrentText] = useState(text); 7 | 8 | useEffect(() => { 9 | let cursor = 0; 10 | const interval = setInterval(() => { 11 | cursor = (cursor + 1) % text.length; 12 | 13 | setCurrentText(text.substr(cursor) + text.substr(0, cursor)); 14 | }, speed); 15 | 16 | return () => clearInterval(interval); 17 | }, [text, speed]); 18 | 19 | return {currentText}; 20 | } 21 | -------------------------------------------------------------------------------- /src/Frontend/Components/MaybeShortcutButton.tsx: -------------------------------------------------------------------------------- 1 | import { Setting } from "@dfdao/types"; 2 | import React from "react"; 3 | import { useUIManager } from "../Utils/AppHooks"; 4 | import { useBooleanSetting } from "../Utils/SettingsHooks"; 5 | import { Btn, ShortcutBtn } from "./Btn"; 6 | 7 | /** 8 | * A button that will show shortcuts if enabled globally in the game, otherwise it will display a normal button 9 | * 10 | * Must ONLY be used when a GameUIManager is available. 11 | */ 12 | export function MaybeShortcutButton( 13 | props: 14 | | React.ComponentProps 15 | | React.ComponentProps 16 | ) { 17 | const uiManager = useUIManager(); 18 | const [disableDefaultShortcuts] = useBooleanSetting( 19 | uiManager, 20 | Setting.DisableDefaultShortcuts 21 | ); 22 | 23 | if (disableDefaultShortcuts) { 24 | return ; 25 | } else { 26 | return ; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/Frontend/Components/Modal.tsx: -------------------------------------------------------------------------------- 1 | import { DarkForestModal, PositionChangedEvent } from "@dfdao/ui"; 2 | import { createComponent } from "@lit-labs/react"; 3 | import React from "react"; 4 | 5 | customElements.define(DarkForestModal.tagName, DarkForestModal); 6 | 7 | export { DarkForestModal, PositionChangedEvent }; 8 | 9 | // This wraps the customElement in a React wrapper to make it behave exactly like a React component 10 | export const Modal = createComponent< 11 | DarkForestModal, 12 | // @ts-ignore 13 | { 14 | onMouseDown: (evt: Event & React.MouseEvent) => void; 15 | onPositionChanged: (evt: PositionChangedEvent) => void; 16 | } 17 | >(React, DarkForestModal.tagName, DarkForestModal, { 18 | onMouseDown: "mousedown", 19 | onPositionChanged: "position-changed", 20 | }); 21 | -------------------------------------------------------------------------------- /src/Frontend/Components/RemoteModal.tsx: -------------------------------------------------------------------------------- 1 | import { ModalId } from "@dfdao/types"; 2 | import * as React from "react"; 3 | import ReactDOM from "react-dom"; 4 | import { ModalPane } from "../Views/Game/ModalPane"; 5 | 6 | /** 7 | * Allows you to instantiate a modal, and render it into the desired element. 8 | * Useful for loading temporary modals from ANYWHERE in the UI, not just 9 | * {@link GameWindowLayout} 10 | */ 11 | export function RemoteModal({ 12 | title, 13 | container, 14 | children, 15 | visible, 16 | onClose, 17 | id, 18 | width, 19 | }: React.PropsWithChildren<{ 20 | title: string; 21 | id: ModalId; 22 | container: Element; 23 | visible: boolean; 24 | onClose: () => void; 25 | width?: string; 26 | }>) { 27 | return ReactDOM.createPortal( 28 | 35 | {children} 36 | , 37 | container 38 | ); 39 | } 40 | -------------------------------------------------------------------------------- /src/Frontend/Components/Row.tsx: -------------------------------------------------------------------------------- 1 | import { DarkForestRow } from "@dfdao/ui"; 2 | import { createComponent } from "@lit-labs/react"; 3 | import React from "react"; 4 | 5 | customElements.define(DarkForestRow.tagName, DarkForestRow); 6 | 7 | // This wraps the customElement in a React wrapper to make it behave exactly like a React component 8 | export const Row = createComponent(React, DarkForestRow.tagName, DarkForestRow); 9 | -------------------------------------------------------------------------------- /src/Frontend/Components/Theme.tsx: -------------------------------------------------------------------------------- 1 | import { DarkForestTheme } from "@dfdao/ui"; 2 | import { createComponent } from "@lit-labs/react"; 3 | import React from "react"; 4 | 5 | customElements.define(DarkForestTheme.tagName, DarkForestTheme); 6 | 7 | // This wraps the customElement in a React wrapper to make it behave exactly like a React component 8 | export const Theme = createComponent( 9 | React, 10 | DarkForestTheme.tagName, 11 | DarkForestTheme, 12 | { 13 | // If we had any, we would map DOM events to React handlers passed in as props. For example: 14 | // onClick: 'click' 15 | } 16 | ); 17 | -------------------------------------------------------------------------------- /src/Frontend/EntryPoints/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import * as ReactDOM from 'react-dom'; 3 | import App from '../Pages/App'; 4 | import '../Styles/font/stylesheet.css'; 5 | import '../Styles/icomoon/style.css'; 6 | import '../Styles/preflight.css'; 7 | import '../Styles/style.css'; 8 | 9 | ReactDOM.render(, document.getElementById('root')); 10 | -------------------------------------------------------------------------------- /src/Frontend/Pages/LoadingPage.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import {useEffect, useState} from 'react'; 3 | import styled from 'styled-components'; 4 | import { LoadingSpinner } from '../Components/LoadingSpinner'; 5 | 6 | export default function LoadingPage() { 7 | 8 | return ; 9 | } 10 | 11 | 12 | const LoadingContainer = styled.div` 13 | height: 100%; 14 | width: 100%; 15 | display: flex; 16 | align-items: center; 17 | justify-content: center; 18 | ` -------------------------------------------------------------------------------- /src/Frontend/Pages/NotFoundPage.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { CadetWormhole } from '../Views/CadetWormhole'; 3 | 4 | export function NotFoundPage() { 5 | return ; 6 | } 7 | -------------------------------------------------------------------------------- /src/Frontend/Pages/ShareArtifact.tsx: -------------------------------------------------------------------------------- 1 | import { Artifact, ArtifactId } from "@dfdao/types"; 2 | import React from "react"; 3 | import { RouteComponentProps } from "react-router-dom"; 4 | import ReaderDataStore from "../../Backend/Storage/ReaderDataStore"; 5 | import { Share } from "../Views/Game/Share"; 6 | 7 | export function ShareArtifact({ 8 | match, 9 | }: RouteComponentProps<{ artifactId: ArtifactId }>) { 10 | function load(dataStore: ReaderDataStore) { 11 | return dataStore.loadArtifactFromContract(match.params.artifactId); 12 | } 13 | 14 | return ( 15 | 16 | {( 17 | artifact: Artifact | undefined, 18 | loading: boolean, 19 | error: Error | undefined 20 | ) => { 21 | if (error) { 22 | return "error"; 23 | } 24 | 25 | if (loading) { 26 | return "loading"; 27 | } 28 | 29 | return JSON.stringify(artifact); 30 | }} 31 | 32 | ); 33 | } 34 | -------------------------------------------------------------------------------- /src/Frontend/Panes/Game/ArtifactCard.tsx: -------------------------------------------------------------------------------- 1 | import { ArtifactId } from "@dfdao/types"; 2 | import React from "react"; 3 | import { Padded } from "../../Components/CoreUI"; 4 | import { useUIManager } from "../../Utils/AppHooks"; 5 | import { ArtifactDetailsBody } from "./ArtifactDetailsPane"; 6 | 7 | export function ArtifactCard({ artifactId }: { artifactId?: ArtifactId }) { 8 | const uiManager = useUIManager(); 9 | 10 | if (!artifactId) return null; 11 | 12 | return ( 13 | 14 | 19 | 20 | ); 21 | } 22 | -------------------------------------------------------------------------------- /src/Frontend/Panes/Game/ArtifactHoverPane.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useHoverArtifactId, useUIManager } from '../../Utils/AppHooks'; 3 | import { ArtifactCard } from '../Game/ArtifactCard'; 4 | import { HoverPane } from './HoverPane'; 5 | 6 | export function ArtifactHoverPane() { 7 | const uiManager = useUIManager(); 8 | const hoverArtifactId = useHoverArtifactId(uiManager); 9 | 10 | return ( 11 | } 14 | /> 15 | ); 16 | } 17 | -------------------------------------------------------------------------------- /src/Frontend/Panes/WikiPane.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'styled-components'; 3 | import dfstyles from '../Styles/dfstyles'; 4 | 5 | export function WikiPane({ children }: { children: React.ReactNode }) { 6 | return {children}; 7 | } 8 | 9 | const WikiPaneContainer = styled.div` 10 | width: 400px; 11 | max-height: 300px; 12 | overflow-y: scroll; 13 | border-radius: 2px; 14 | border: 1px solid ${dfstyles.colors.text}; 15 | background-color: ${dfstyles.colors.blueBackground}; 16 | color: #ccc; 17 | padding: 8px 16px; 18 | `; 19 | -------------------------------------------------------------------------------- /src/Frontend/Styles/Mixins.tsx: -------------------------------------------------------------------------------- 1 | import { isLocatable } from "@dfdao/gamelogic"; 2 | import { Planet, PlanetType } from "@dfdao/types"; 3 | import { css, keyframes } from "styled-components"; 4 | import { BiomeBackgroundColors } from "./Colors"; 5 | 6 | const scrolling = keyframes` 7 | from { 8 | background-position: 0 0; 9 | } 10 | to { 11 | background-position: 200px 200px; 12 | } 13 | `; 14 | 15 | export function planetBackground({ planet }: { planet: Planet | undefined }) { 16 | if (!planet || planet.planetType === PlanetType.TRADING_POST) 17 | return css` 18 | background: url("/public/img/spacebg.jpg"); 19 | background-size: 200px 200px; 20 | background-repeat: repeat; 21 | animation: ${scrolling} 10s linear infinite; 22 | `; 23 | else 24 | return isLocatable(planet) 25 | ? css` 26 | background: ${BiomeBackgroundColors[planet.biome]}; 27 | ` 28 | : ``; 29 | } 30 | -------------------------------------------------------------------------------- /src/Frontend/Styles/font/generator_config.txt: -------------------------------------------------------------------------------- 1 | # Font Squirrel Font-face Generator Configuration File 2 | # Upload this file to the generator to recreate the settings 3 | # you used to create these fonts. 4 | 5 | {"mode":"optimal","formats":["woff","woff2"],"tt_instructor":"default","fix_gasp":"xy","fix_vertical_metrics":"Y","metrics_ascent":"","metrics_descent":"","metrics_linegap":"","add_spaces":"Y","add_hyphens":"Y","fallback":"none","fallback_custom":"100","options_subset":"basic","subset_custom":"","subset_custom_range":"","subset_ot_features_list":"","css_stylesheet":"stylesheet.css","filename_suffix":"-webfont","emsquare":"2048","spacing_adjustment":"0"} -------------------------------------------------------------------------------- /src/Frontend/Styles/font/perfect_dos_vga_437-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/src/Frontend/Styles/font/perfect_dos_vga_437-webfont.woff -------------------------------------------------------------------------------- /src/Frontend/Styles/font/perfect_dos_vga_437-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/src/Frontend/Styles/font/perfect_dos_vga_437-webfont.woff2 -------------------------------------------------------------------------------- /src/Frontend/Styles/font/stylesheet.css: -------------------------------------------------------------------------------- 1 | /*! Generated by Font Squirrel (https://www.fontsquirrel.com) on July 30, 2020 */ 2 | 3 | @font-face { 4 | font-family: 'perfect_dos_vga_437regular'; 5 | src: url('perfect_dos_vga_437-webfont.woff2') format('woff2'), 6 | url('perfect_dos_vga_437-webfont.woff') format('woff'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | -------------------------------------------------------------------------------- /src/Frontend/Styles/icomoon/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/src/Frontend/Styles/icomoon/fonts/icomoon.eot -------------------------------------------------------------------------------- /src/Frontend/Styles/icomoon/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/src/Frontend/Styles/icomoon/fonts/icomoon.ttf -------------------------------------------------------------------------------- /src/Frontend/Styles/icomoon/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dfdao/lightforest/e4ee09f95b99f435a3b7a3c50933f1d5118e3e98/src/Frontend/Styles/icomoon/fonts/icomoon.woff -------------------------------------------------------------------------------- /src/Frontend/Styles/style.css: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300&display=swap'); 2 | @import url('https://fonts.googleapis.com/css2?family=Karla:wght@700&display=swap'); 3 | 4 | html, 5 | body, 6 | #root { 7 | height: 100%; 8 | } 9 | ::-webkit-scrollbar { 10 | width: 0px; 11 | background: transparent; 12 | } 13 | body { 14 | font-family: 'Inconsolata', monospace; 15 | font-weight: 300; 16 | } 17 | 18 | /* Hide scrollbar for Chrome, Safari and Opera */ 19 | *::-webkit-scrollbar { 20 | display: none; 21 | } 22 | 23 | /* Hide scrollbar for IE, Edge and Firefox */ 24 | * { 25 | -ms-overflow-style: none; /* IE and Edge */ 26 | scrollbar-width: none; /* Firefox */ 27 | } 28 | -------------------------------------------------------------------------------- /src/Frontend/Utils/Hooks.tsx: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | 3 | /** 4 | * Executes the callback `cb` every `poll` ms 5 | * @param cb callback to execute 6 | * @param poll ms to poll 7 | * @param execFirst if we want to execute the callback on first render 8 | */ 9 | export function usePoll( 10 | cb: () => void, 11 | poll: number | undefined = undefined, 12 | execFirst: boolean | undefined = undefined 13 | ) { 14 | useEffect(() => { 15 | if (execFirst) cb(); 16 | 17 | if (!poll) return; 18 | const interval = setInterval(cb, poll); 19 | 20 | return () => clearInterval(interval); 21 | }, [poll, cb, execFirst]); 22 | } 23 | -------------------------------------------------------------------------------- /src/Frontend/Utils/ShortcutConstants.ts: -------------------------------------------------------------------------------- 1 | import { SpecialKey } from "@dfdao/constants"; 2 | 3 | // modal shortcuts 4 | export const MODAL_BACK_SHORTCUT = "t"; 5 | export const CLOSE_MODAL = "t"; 6 | export const TOGGLE_SETTINGS_PANE = "h"; 7 | export const TOGGLE_HELP_PANE = "j"; 8 | export const TOGGLE_PLUGINS_PANE = "k"; 9 | export const TOGGLE_YOUR_ARTIFACTS_PANE = "l"; 10 | export const TOGGLE_YOUR_PLANETS_DEX_PANE = ";"; 11 | export const TOGGLE_TRANSACTIONS_PANE = "'"; 12 | 13 | // planet context pane shortcuts 14 | export const TOGGLE_PLANET_ARTIFACTS_PANE = "s"; 15 | export const TOGGLE_HAT_PANE = "x"; 16 | export const TOGGLE_ABANDON = "r"; 17 | export const INVADE = "y"; 18 | export const MINE_ARTIFACT = "f"; 19 | export const TOGGLE_BROADCAST_PANE = "z"; 20 | export const TOGGLE_UPGRADES_PANE = "a"; 21 | export const TOGGLE_SEND = "q"; 22 | export const TOGGLE_PLANET_INFO_PANE = "c"; 23 | export const EXIT_PANE = SpecialKey.Escape; 24 | 25 | // global shortcuts 26 | export const TOGGLE_DIAGNOSTICS_PANE = "i"; 27 | export const TOGGLE_EXPLORE = SpecialKey.Space; 28 | export const TOGGLE_TARGETTING = "`"; 29 | -------------------------------------------------------------------------------- /src/Frontend/Utils/TerminalTypes.ts: -------------------------------------------------------------------------------- 1 | export const enum TerminalTextStyle { 2 | Green, 3 | Sub, 4 | Subber, 5 | Text, 6 | White, 7 | Red, 8 | Blue, 9 | Invisible, 10 | Underline, 11 | Mythic, 12 | } 13 | -------------------------------------------------------------------------------- /src/Frontend/Utils/TimeUtils.ts: -------------------------------------------------------------------------------- 1 | export function formatDuration(durationMs: number) { 2 | if (durationMs < 0) { 3 | return ''; 4 | } 5 | 6 | const hours = Math.floor(durationMs / 1000 / 60 / 60); 7 | const minutes = Math.floor((durationMs - hours * 60 * 60 * 1000) / 1000 / 60); 8 | const seconds = Math.floor((durationMs - hours * 60 * 60 * 1000 - minutes * 60 * 1000) / 1000); 9 | 10 | return ( 11 | timestampSection(hours) + ':' + timestampSection(minutes) + ':' + timestampSection(seconds) 12 | ); 13 | } 14 | 15 | function timestampSection(value: number) { 16 | return value.toString().padStart(2, '0'); 17 | } 18 | 19 | export function formatDate(date: Date): string { 20 | // +1 to account for zero index on month and date 21 | return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}` 22 | } 23 | 24 | export function formatStartTime(startTime: number): string { 25 | const date = new Date(startTime * 1000); 26 | return formatDate(date) + ' ' + date.toLocaleTimeString() 27 | } 28 | 29 | -------------------------------------------------------------------------------- /src/Frontend/Utils/helpers.ts: -------------------------------------------------------------------------------- 1 | import { DarkForest } from "@dfdao/contracts/typechain"; 2 | import { address } from "@dfdao/serde"; 3 | import { EthAddress } from "@dfdao/types"; 4 | import { keccak256, toUtf8Bytes } from "ethers/lib/utils"; 5 | import { TransactionReceipt } from "@ethersproject/providers"; 6 | // THIS IS BAD BECAUSE NOT TYPE SAFE 7 | export function getReadyEvent( 8 | readyReceipt: TransactionReceipt, 9 | contract: DarkForest 10 | ): { player: EthAddress; time: number } { 11 | const readyHash = keccak256(toUtf8Bytes("PlayerReady(address,uint256)")); 12 | const log = readyReceipt.logs.find((log) => log.topics[0] === readyHash); 13 | if (log) { 14 | return { 15 | player: address(contract.interface.parseLog(log).args.player), 16 | time: contract.interface.parseLog(log).args.time, 17 | }; 18 | } else { 19 | throw new Error("Player Ready event not found"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/Frontend/Views/CadetWormhole.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'styled-components'; 3 | 4 | const CadetWormholeContainer = styled.div` 5 | height: 100vh; 6 | width: 100vw; 7 | padding: 3%; 8 | display: flex; 9 | flex-direction: column; 10 | align-items: center; 11 | background-image: url(/public/img/cadet-wormhole.png); 12 | background-attachment: fixed; 13 | background-position: top; 14 | background-repeat: no-repeat; 15 | 16 | /* This is the height of the background-image */ 17 | @media (max-height: 1058px) { 18 | background-size: contain; 19 | } 20 | `; 21 | 22 | export function CadetWormhole({ imgUrl }: { imgUrl: string }) { 23 | return ( 24 | 25 | 26 | 27 | ); 28 | } 29 | -------------------------------------------------------------------------------- /src/Frontend/Views/Game/Paused.tsx: -------------------------------------------------------------------------------- 1 | import { TooltipName } from "@dfdao/types"; 2 | import React from "react"; 3 | import styled from "styled-components"; 4 | import { TooltipTrigger } from "../../Panes/Tooltip"; 5 | import { useGameover, usePaused, useUIManager } from "../../Utils/AppHooks"; 6 | 7 | export function Paused() { 8 | const paused = usePaused(); 9 | const gameover = useGameover(); 10 | const started = useUIManager().gameStarted; 11 | 12 | if (!paused || gameover || !started) { 13 | return <>; 14 | } 15 | 16 | return ( 17 | 18 | 21 | The game is currently paused so that everyone can spawn and then 22 | start playing at the same time. You can still mine the map, but you 23 | can't make any moves. 24 | 25 | } 26 | name={TooltipName.Empty} 27 | > 28 | PAUSED 29 | 30 | 31 | ); 32 | } 33 | 34 | const PausedContainer = styled.div` 35 | font-size: 2em; 36 | text-align: center; 37 | `; 38 | -------------------------------------------------------------------------------- /src/Frontend/Views/LandingPageRoundArt.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import styled from 'styled-components'; 3 | import { TwitterLink } from '../Components/Labels/Labels'; 4 | import { Smaller, Text } from '../Components/Text'; 5 | 6 | export function LandingPageRoundArt() { 7 | return ( 8 | 9 | 10 | 11 | 12 | 13 | ); 14 | } 15 | 16 | const Container = styled.div` 17 | display: flex; 18 | justify-content: center; 19 | align-items: center; 20 | width: 750px; 21 | max-width: 80vw; 22 | 23 | @media only screen and (max-device-width: 1000px) { 24 | width: 100%; 25 | max-width: 100%; 26 | padding: 8px; 27 | font-size: 80%; 28 | } 29 | `; 30 | 31 | const ImgContainer = styled.div` 32 | 33 | `; 34 | 35 | const LandingPageRoundArtImg = styled.img``; 36 | -------------------------------------------------------------------------------- /src/Frontend/Views/Portal/MapConfigDisplay.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { LobbyInitializers } from "../../Panes/Lobby/Reducer"; 3 | import { ConfigDetails } from "./ConfigDetails"; 4 | 5 | interface MapConfigDisplayProps { 6 | config: LobbyInitializers; 7 | } 8 | 9 | export const MapConfigDisplay: React.FC = ({ 10 | config, 11 | }) => { 12 | return ( 13 |
14 |
15 | Config Details 16 | Scroll for more {`↓`} 17 |
18 | 19 |
20 | ); 21 | }; 22 | -------------------------------------------------------------------------------- /src/Frontend/Views/Portal/PortalUtils.ts: -------------------------------------------------------------------------------- 1 | import { EthAddress } from "@dfdao/types"; 2 | import styled from "styled-components"; 3 | 4 | export function truncateAddress(address: EthAddress) { 5 | return address.substring(0, 6) + "..." + address.substring(36, 42); 6 | } 7 | 8 | export function truncateString(str: string, maxLength: number) { 9 | return str.length > maxLength ? str.substring(0, maxLength - 3) + "..." : str; 10 | } 11 | 12 | export const MinimalButton = styled.button` 13 | border-radius: 3px; 14 | padding: 8px; 15 | background: #252525; 16 | color: #fff; 17 | text-transform: uppercase; 18 | `; 19 | -------------------------------------------------------------------------------- /src/_types/darkforest/api/UtilityServerAPITypes.ts: -------------------------------------------------------------------------------- 1 | export type AddressTwitterMap = { 2 | [ethAddress: string]: string; 3 | }; 4 | -------------------------------------------------------------------------------- /src/_types/file-loader/FileWorkerTypes.ts: -------------------------------------------------------------------------------- 1 | declare module "@dfdao/snarks/*.wasm" { 2 | const path: string; 3 | export default path; 4 | } 5 | declare module "@dfdao/snarks/*.zkey" { 6 | const path: string; 7 | export default path; 8 | } 9 | declare module "@dfdao/contracts/abis/*.json" { 10 | const path: string; 11 | export default path; 12 | } 13 | -------------------------------------------------------------------------------- /tsconfig.decs.json: -------------------------------------------------------------------------------- 1 | // This file exists because the base tsconfig uses `noEmit`, but we still 2 | // want to generate the declaration files upon mirroring the project 3 | { 4 | "extends": "./tsconfig.json", 5 | "include": ["src/**/*"], 6 | "compilerOptions": { 7 | "rootDir": "src", 8 | "noEmit": false, 9 | "emitDeclarationOnly": true, 10 | "declaration": true, 11 | "declarationDir": "./declarations" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "src/**/*.ts", 4 | "src/**/*.tsx", 5 | "embedded_plugins/**/*.ts", 6 | "embedded_plugins/**/*.tsx", 7 | "plugins/**/*.ts", 8 | "plugins/**/*.tsx" 9 | ], 10 | "compilerOptions": { 11 | "module": "esnext", 12 | "target": "es2020", 13 | "sourceMap": true, 14 | "noImplicitAny": true, 15 | "strictNullChecks": true, 16 | "allowSyntheticDefaultImports": true, 17 | "jsx": "react", // use typescript to transpile jsx to js 18 | "allowJs": true, // allow a partial TypeScript and JavaScript codebase 19 | "moduleResolution": "Node", 20 | "lib": ["es2020", "dom"], 21 | "skipLibCheck": true, 22 | "noEmit": true 23 | }, 24 | "typedocOptions": { 25 | "entryPointStrategy": "expand", 26 | "entryPoints": ["src"], 27 | "out": "docs", 28 | "hideBreadcrumbs": true, 29 | "readme": "none", 30 | "disableSources": true, 31 | "cleanOutputDir": false, 32 | "githubPages": false, 33 | "excludeExternals": true, 34 | "listInvalidSymbolLinks": true 35 | } 36 | } 37 | --------------------------------------------------------------------------------