├── assets
├── production
│ ├── client
│ │ └── .gitkeep
│ └── server
│ │ └── .gitkeep
├── staging
│ ├── client
│ │ └── .gitkeep
│ └── server
│ │ └── .gitkeep
├── development
│ ├── client
│ │ └── .gitkeep
│ ├── server
│ │ └── .gitkeep
│ └── single-player
│ │ └── .gitkeep
├── intersect-logo-qu.bmp
├── intersect-logo-qu.ico
├── intersect-logo-qu.png
└── .gitignore
├── Intersect.Client
├── GlobalSuppressions.cs
├── Icon.bmp
└── Program.cs
├── .idea
└── .idea.Intersect
│ └── .idea
│ ├── .name
│ ├── encodings.xml
│ ├── vcs.xml
│ ├── indexLayout.xml
│ ├── misc.xml
│ └── .gitignore
├── Intersect.Server
├── Web
│ ├── Pages
│ │ ├── User
│ │ │ ├── Index.cshtml
│ │ │ ├── UserProfile.cshtml.css
│ │ │ ├── UserProfile.cs
│ │ │ └── Index.cshtml.cs
│ │ ├── Developer
│ │ │ ├── Index.cshtml.css
│ │ │ ├── Assets
│ │ │ │ ├── _TabSet.cshtml.css
│ │ │ │ └── _TabSet.cshtml.cs
│ │ │ ├── Assets.cshtml.css
│ │ │ └── ServerSettings
│ │ │ │ └── Index.cshtml.css
│ │ ├── Shared
│ │ │ ├── _Toast.cshtml.css
│ │ │ ├── _Toast.cshtml
│ │ │ ├── _Toasts.cshtml
│ │ │ ├── _ValidationScriptsPartial.cshtml
│ │ │ └── Players
│ │ │ │ └── _PlayerCard.cshtml.cs
│ │ ├── _ViewStart.cshtml
│ │ ├── _ViewImports.cshtml
│ │ ├── Index.cshtml.cs
│ │ ├── Account
│ │ │ ├── Login.cshtml.css
│ │ │ └── Logout.cshtml
│ │ ├── Index.cshtml
│ │ └── Index copy.cshtml
│ ├── Types
│ │ ├── IdPayload.cs
│ │ ├── Demo
│ │ │ └── DemoResponseBody.cs
│ │ ├── Player
│ │ │ ├── LevelChangeRequestBody.cs
│ │ │ ├── OnlineCountResponseBody.cs
│ │ │ ├── ItemsTakeResponseBody.cs
│ │ │ ├── ItemInfoRequestBody.cs
│ │ │ ├── ItemsGiveResponseBody.cs
│ │ │ ├── ItemsGiveQuantityData.cs
│ │ │ └── ItemListResponseBody.cs
│ │ ├── StatusMessageResponseBody.cs
│ │ ├── User
│ │ │ ├── AdminChangeRequestBody.cs
│ │ │ ├── PasswordValidationRequestBody.cs
│ │ │ ├── AuthorizedChangeRequestBody.cs
│ │ │ ├── RegisterResponseBody.cs
│ │ │ └── UserInfoRequestBody.cs
│ │ ├── Info
│ │ │ ├── AuthorizedResponseBody.cs
│ │ │ ├── InfoResponseBody.cs
│ │ │ └── InfoStatsResponseBody.cs
│ │ ├── Chat
│ │ │ ├── ChatMessageResponseBody.cs
│ │ │ ├── ChatMessageMapResponseBody.cs
│ │ │ └── ChatMessageLookupKeyResponseBody.cs
│ │ ├── NameChangePayload.cs
│ │ ├── VariableValueBody.cs
│ │ ├── Guild
│ │ │ └── GuildRankPayload.cs
│ │ ├── Logs
│ │ │ └── IpAddressResponseBody.cs
│ │ ├── IDataPage.cs
│ │ ├── AdminActionParameters.cs
│ │ └── PagingInfo.cs
│ ├── Authentication
│ │ ├── SecuritySchemes.cs
│ │ └── AuthenticationResultType.cs
│ ├── Configuration
│ │ ├── PartialKestrelEndpoint.cs
│ │ ├── PartialKestrelEndpointCertificateType.cs
│ │ └── PartialKestrelEndpointCertificate.cs
│ ├── IApiService.cs
│ ├── Controllers
│ │ └── AssetManagement
│ │ │ ├── AssetFileInfo.cs
│ │ │ ├── AssetDirectoryInfo.cs
│ │ │ ├── CachedManifest.cs
│ │ │ └── AssetFileSystemInfoType.cs
│ ├── Http
│ │ └── ContentTypes.cs
│ ├── Extensions
│ │ └── BaseContextExtensions.cs
│ └── Middleware
│ │ └── ApplicationContextMiddleware.cs
├── wwwroot
│ ├── favicon.ico
│ └── material
│ │ ├── file
│ │ ├── file_upload
│ │ │ ├── materialicons
│ │ │ │ └── 24px.svg
│ │ │ ├── materialiconssharp
│ │ │ │ └── 24px.svg
│ │ │ └── materialiconstwotone
│ │ │ │ └── 24px.svg
│ │ ├── file_download
│ │ │ ├── materialicons
│ │ │ │ └── 24px.svg
│ │ │ ├── materialiconssharp
│ │ │ │ └── 24px.svg
│ │ │ └── materialiconstwotone
│ │ │ │ └── 24px.svg
│ │ ├── drive_file_rename_outline
│ │ │ └── materialicons
│ │ │ │ └── 24px.svg
│ │ └── create_new_folder
│ │ │ └── materialiconsoutlined
│ │ │ └── 24px.svg
│ │ ├── notification
│ │ └── account_tree
│ │ │ ├── materialicons
│ │ │ └── 24px.svg
│ │ │ ├── materialiconssharp
│ │ │ └── 24px.svg
│ │ │ └── materialiconsoutlined
│ │ │ └── 24px.svg
│ │ ├── action
│ │ ├── delete
│ │ │ └── materialiconsoutlined
│ │ │ │ └── 24px.svg
│ │ └── receipt
│ │ │ ├── materialicons
│ │ │ └── 24px.svg
│ │ │ └── materialiconssharp
│ │ │ └── 24px.svg
│ │ └── navigation
│ │ └── refresh
│ │ ├── materialicons
│ │ └── 24px.svg
│ │ ├── materialiconssharp
│ │ └── 24px.svg
│ │ ├── materialiconstwotone
│ │ └── 24px.svg
│ │ └── materialiconsoutlined
│ │ └── 24px.svg
├── Resources
│ ├── e_sqlite3x64.dll
│ ├── e_sqlite3x86.dll
│ ├── libe_sqlite3.dylib
│ ├── libe_sqlite3_x64.so
│ └── libe_sqlite3_x86.so
├── Core
│ ├── IConsoleService.cs
│ └── CommandParsing
│ │ └── Arguments
│ │ └── HelpArgument.cs
├── appsettings.Staging.json
└── Database
│ └── DataMigrations
│ └── MySql
│ └── MySqlUserVariablePopulateNewColumnId.cs
├── Intersect.Client.Core
├── .gitignore
├── Resources
│ ├── runtimes
│ │ └── .gitignore
│ ├── openal32.dll
│ └── Shaders
│ │ └── radialgradient.xnb
├── ThirdParty
│ └── Steam.NativeInterop.cs
├── Interface
│ ├── Menu
│ │ ├── IMainMenuWindow.cs
│ │ ├── PasswordChangeMode.cs
│ │ └── CharacterSelectionPreviewMetadata.cs
│ ├── Shared
│ │ └── InputType.cs
│ └── Game
│ │ └── DescriptionWindows
│ │ └── Components
│ │ └── DividerComponent.cs
├── MonoGame
│ ├── NativeInterop
│ │ ├── KnownLibrary.cs
│ │ ├── Platform.cs
│ │ ├── Sdl2.Rect.cs
│ │ └── OpenGL
│ │ │ └── GL.NVX_gpu_memory_info.cs
│ ├── Audio
│ │ └── MonoSoundInstance.cs
│ └── Graphics
│ │ └── SpriteFontRenderer.cs
├── Entities
│ ├── Events
│ │ └── Dialog.cs
│ ├── FriendInstance.cs
│ └── Entity.Constants.cs
├── Spells
│ └── Spell.cs
└── Maps
│ └── MapGrid.cs
├── Examples
├── .idea
│ └── .idea.Intersect.Examples
│ │ └── .idea
│ │ ├── .name
│ │ ├── encodings.xml
│ │ ├── vcs.xml
│ │ ├── indexLayout.xml
│ │ ├── misc.xml
│ │ └── .gitignore
├── Intersect.Examples.Plugin.Client
│ └── Assets
│ │ └── join-our-discord.png
└── Intersect.Examples.Plugin.ClientVB
│ └── Assets
│ └── join-our-discord.png
├── Intersect.Editor
├── DarkUI.dll
├── Pngcs.dll
├── sqlite3.dll
├── Resources
│ ├── layer.png
│ ├── layer_face.png
│ ├── layer_sel.png
│ ├── sqlite3x64.dll
│ ├── sqlite3x86.dll
│ ├── layer_hidden.png
│ ├── layer_face_sel.png
│ ├── intersect-logo-qu.ico
│ ├── Shaders
│ │ └── radialgradient_editor.xnb
│ └── ThirdParty
│ │ └── material-design-icons
│ │ ├── sharp_pause_white_48dp.png
│ │ ├── sharp_save_white_48dp.png
│ │ ├── sharp_undo_white_48dp.png
│ │ ├── sharp_colorize_white_48dp.png
│ │ └── sharp_play_arrow_white_48dp.png
├── Properties
│ └── launchSettings.json
├── Core
│ └── DummyStartupOptions.cs
└── GlobalSuppressions.cs
├── Intersect.Server.Core
├── Database
│ ├── ISqliteDbContext.cs
│ ├── IMySqlDbContext.cs
│ ├── IntersectModelOptions.cs
│ ├── ExternalModelCacheKey.cs
│ ├── MigrationType.cs
│ ├── PlayerData
│ │ ├── LoginFailureReason.cs
│ │ ├── LoginFailureType.cs
│ │ ├── UserRole.cs
│ │ ├── UserSaveResult.cs
│ │ └── Players
│ │ │ └── IPlayerOwned.cs
│ ├── IntersectModelCacheKey.cs
│ ├── SchemaMigrationMetadata.cs
│ ├── CleanDatabaseMigrationMetadata.cs
│ ├── ISeedableContext.cs
│ ├── IDataMigration.cs
│ ├── ContextProvider.Locking.cs
│ ├── DataMigrations
│ │ └── Sqlite
│ │ │ └── SqliteUserVariablePopulateNewColumnId.cs
│ └── SchemaMigrationAttribute.cs
├── Collections
│ └── Sorting
│ │ └── SortDirection.cs
├── Entities
│ ├── Pathfinding
│ │ ├── IIndexedObject.cs
│ │ ├── PathNodeBlockType.cs
│ │ └── PathfinderResultType.cs
│ ├── MovementBlockerType.cs
│ └── Label.cs
├── Core
│ ├── INetworkPoolDataProvider.cs
│ ├── SinglePlayerNetworkPoolDataProvider.cs
│ ├── ServerContextFactory.cs
│ └── Services
│ │ └── ILogicService.cs
├── Maps
│ ├── MapNpcSpawn.cs
│ ├── MapResourceSpawn.cs
│ └── MapItemSpawn.cs
└── Plugins
│ └── Helpers
│ └── ServerLifecycleHelper.cs
├── Intersect.Client.Framework
├── ColorizedText.cs
├── Gwen
│ ├── Control
│ │ ├── NodePair.cs
│ │ ├── ValueChangeHandler.cs
│ │ ├── Utility
│ │ │ ├── SearchableTreeFilterCriteria.cs
│ │ │ ├── SearchableTreeDataEntryEventArgs.cs
│ │ │ ├── SearchableTreeDataEntriesEventArgs.cs
│ │ │ └── SearchableTreeDataEntry.cs
│ │ ├── DisplayMode.cs
│ │ ├── IAutoSizeToContents.cs
│ │ ├── IColorPicker.cs
│ │ ├── ComponentState.cs
│ │ ├── EventArguments
│ │ │ ├── InputSubmissionEvent
│ │ │ │ ├── SubmissionValue.cs
│ │ │ │ ├── BooleanSubmissionValue.cs
│ │ │ │ ├── StringSubmissionValue.cs
│ │ │ │ └── NumericalSubmissionValue.cs
│ │ │ └── InputSubmissionEventArgs.cs
│ │ ├── Layout
│ │ │ └── IFitHeightToContents.cs
│ │ ├── IColorableText.cs
│ │ ├── NodeFilter.cs
│ │ ├── INumericInput.cs
│ │ ├── IFontProvider.cs
│ │ ├── TabChangeEventArgs.cs
│ │ └── ITextContainer.cs
│ ├── Input
│ │ └── FocusSource.cs
│ ├── Skin
│ │ ├── skin-intersect.png
│ │ └── Texturing
│ │ │ ├── UVSquare.cs
│ │ │ └── IAtlasDrawable.cs
│ ├── WrappingBehavior.cs
│ ├── OverflowBehavior.cs
│ ├── HSV.cs
│ ├── ControlInternal
│ │ └── ButtonSoundState.cs
│ ├── Orientation.cs
│ └── DragDrop
│ │ └── Package.cs
├── Graphics
│ ├── BufferUsage.cs
│ ├── ScreenshotRequest.cs
│ ├── WriteTextureToStreamDelegate.cs
│ ├── BufferWriteMode.cs
│ ├── PrimitiveType.cs
│ ├── BoundsComparison.cs
│ ├── BufferEventArgs.cs
│ ├── TextureEventArgs.cs
│ ├── IGPUBuffer.cs
│ ├── IGameRenderTexture.cs
│ ├── FontSizeRenderer.cs
│ ├── GameBlendModes.cs
│ ├── DrawStates.cs
│ ├── ITextHelper.cs
│ ├── IFont.cs
│ └── VertexComponent.cs
├── Input
│ ├── InputDeviceType.cs
│ ├── KeyboardType.cs
│ ├── MouseButton.cs
│ └── IControlsProvider.cs
├── Configuration
│ └── Features
│ │ └── Typewriter
│ │ └── TypewriterBehavior.cs
├── Entities
│ ├── IDash.cs
│ ├── IFriendInstance.cs
│ ├── IResource.cs
│ ├── SpriteAnimations.cs
│ ├── LabelType.cs
│ ├── IHotbarInstance.cs
│ ├── IPartyMember.cs
│ └── Label.cs
├── Core
│ └── Sounds
│ │ ├── IMapSound.cs
│ │ └── ISound.cs
├── Maps
│ ├── IMapAnimation.cs
│ ├── IWeatherParticle.cs
│ └── IActionMessage.cs
├── Plugins
│ ├── Interfaces
│ │ ├── GameDrawHandler.cs
│ │ ├── GameUpdateHandler.cs
│ │ ├── LifecycleChangeStateHandler.cs
│ │ ├── LifecycleChangeStateArgs.cs
│ │ └── TimedArgs.cs
│ └── ClientPluginEntry.cs
├── Interface
│ └── Data
│ │ ├── IUpdatableDataProvider.cs
│ │ ├── ValueAdapterDelegate.cs
│ │ ├── DataProviderEventHandler`1.cs
│ │ ├── DataProviderEventHandler.cs
│ │ ├── TryProviderValueDelegate.cs
│ │ ├── IDataProvider.cs
│ │ ├── DelayProvider.cs
│ │ └── IDataProvider`1.cs
├── General
│ └── GameStates.cs
├── Items
│ └── IMapItemInstance.cs
├── Sys
│ └── GameSystem.cs
└── Content
│ ├── TextureType.cs
│ └── IAsset.cs
├── Intersect (Core)
├── IO
│ ├── ISaveable.cs
│ ├── ILoadable.cs
│ ├── ISaveable.Generic.cs
│ └── ISaveableProvider.cs
├── Enums
│ ├── DamageType.cs
│ ├── NpcMovement.cs
│ └── EventResponseType.cs
├── Localization
│ └── LocaleNamespace.cs
├── Collections
│ └── Slotting
│ │ └── ISlot.cs
├── Network
│ ├── NetworkLayerInterfaceFactory.cs
│ ├── PortHelper.cs
│ ├── IClient.cs
│ ├── NetworkFactory.cs
│ └── PacketLifecycle.cs
├── BytePoint.cs
├── GlobalSuppressions.cs
├── SharedConstants.cs
├── Extensions
│ └── KeyValuePairExtensions.cs
├── Utilities
│ └── Nullability.cs
└── Core
│ └── IThreadableApplicationService.cs
├── Intersect.Network
├── IServer.cs
├── LiteNetLib
│ ├── UnconnectedPacketType.cs
│ ├── EncryptionResult.cs
│ └── LiteNetLibLogger.cs
└── NetworkMetaStatus.cs
├── Documentation
├── Features.HomepageLeaderboard.png
├── Intersect Documentation.url
└── AvatarController
│ └── AvatarController.FileStructureEditorResources.png
├── Framework
├── Intersect.Framework.Core
│ ├── Entities
│ │ ├── Gender.cs
│ │ ├── Vital.cs
│ │ ├── TargetType.cs
│ │ ├── Stat.cs
│ │ ├── EntityType.cs
│ │ └── NpcAggression.cs
│ ├── Config
│ │ ├── OptionsLoadedEventHandler.cs
│ │ ├── DatabaseType.cs
│ │ └── MetricsOptions.cs
│ ├── Models
│ │ ├── IObject.cs
│ │ ├── INamedObject.cs
│ │ ├── VariableDataType.cs
│ │ └── IFolderable.cs
│ ├── Network
│ │ ├── Delegates.cs
│ │ ├── HandlePacketAvailable.cs
│ │ ├── ShouldProcessPacket.cs
│ │ ├── HandlePacketGeneric.cs
│ │ ├── HandleConnectionRequest.cs
│ │ ├── IPacketHandler.cs
│ │ ├── HandleUnconnectedMessage.cs
│ │ ├── HandleConnectionEvent.cs
│ │ ├── Packets
│ │ │ ├── Editor
│ │ │ │ └── PingPacket.cs
│ │ │ ├── Server
│ │ │ │ ├── SpellPacket.cs
│ │ │ │ ├── StopMusicPacket.cs
│ │ │ │ ├── EnteringGamePacket.cs
│ │ │ │ ├── HidePicturePacket.cs
│ │ │ │ ├── JoinGamePacket.cs
│ │ │ │ ├── StopSoundsPacket.cs
│ │ │ │ └── NpcEntityPacket.cs
│ │ │ ├── Client
│ │ │ │ ├── CloseBankPacket.cs
│ │ │ │ ├── CloseShopPacket.cs
│ │ │ │ ├── EnterGamePacket.cs
│ │ │ │ ├── AcceptTradePacket.cs
│ │ │ │ ├── CloseBagPacket.cs
│ │ │ │ ├── DeclineTradePacket.cs
│ │ │ │ ├── NewCharacterPacket.cs
│ │ │ │ ├── PartyLeavePacket.cs
│ │ │ │ ├── CloseCraftingPacket.cs
│ │ │ │ ├── RequestFriendsPacket.cs
│ │ │ │ ├── OpenAdminWindowPacket.cs
│ │ │ │ ├── FadeCompletePacket.cs
│ │ │ │ ├── PingPacket.cs
│ │ │ │ ├── GuildLeavePacket.cs
│ │ │ │ ├── RequestGuildPacket.cs
│ │ │ │ ├── GuildInviteAcceptPacket.cs
│ │ │ │ ├── GuildInviteDeclinePacket.cs
│ │ │ │ ├── BuyItemPacket.cs
│ │ │ │ ├── DropItemPacket.cs
│ │ │ │ ├── HotbarSwapPacket.cs
│ │ │ │ ├── SellItemPacket.cs
│ │ │ │ ├── SwapSpellsPacket.cs
│ │ │ │ ├── SwapBagItemsPacket.cs
│ │ │ │ ├── SwapInvItemsPacket.cs
│ │ │ │ └── SwapBankItemsPacket.cs
│ │ │ └── Unconnected
│ │ │ │ └── Server
│ │ │ │ └── ServerStatusResponsePacket.cs
│ │ ├── HandlePacket.cs
│ │ ├── HandlePacketVoid.cs
│ │ ├── UnconnectedPacket.cs
│ │ ├── UnconnectedResponsePacket.cs
│ │ ├── IPacketSender.cs
│ │ ├── Events
│ │ │ └── ConnectionEventArgs.cs
│ │ ├── NetworkStatus.cs
│ │ ├── IPacket.cs
│ │ ├── GenericPacketTypeArgumentsAttribute.cs
│ │ └── UnconnectedRequestPacket.cs
│ ├── Web
│ │ ├── TokenTypes.cs
│ │ └── TokenResultType.cs
│ ├── Localization
│ │ ├── BooleanStyle.cs
│ │ └── Localized.cs
│ ├── GameObjects
│ │ ├── Events
│ │ │ ├── VariableMod.cs
│ │ │ ├── FadeType.cs
│ │ │ ├── Access.cs
│ │ │ ├── StringVariableComparator.cs
│ │ │ ├── EventGraphicType.cs
│ │ │ ├── EventMovementType.cs
│ │ │ ├── EventRenderLayer.cs
│ │ │ ├── EventTrigger.cs
│ │ │ ├── Commands
│ │ │ │ ├── LevelUpCommand.cs
│ │ │ │ ├── OpenBankCommand.cs
│ │ │ │ ├── FadeoutBgmCommand.cs
│ │ │ │ ├── HidePlayerCommand.cs
│ │ │ │ ├── HoldPlayerCommand.cs
│ │ │ │ ├── ShowPlayerCommand.cs
│ │ │ │ ├── StopSoundsCommand.cs
│ │ │ │ ├── HidePictureCommmand.cs
│ │ │ │ ├── OpenGuildBankCommand.cs
│ │ │ │ ├── ReleasePlayerCommand.cs
│ │ │ │ ├── ExitEventProcessingCommand.cs
│ │ │ │ ├── WaitCommand.cs
│ │ │ │ ├── LabelCommand.cs
│ │ │ │ ├── OpenShopCommand.cs
│ │ │ │ ├── SetClassCommand.cs
│ │ │ │ ├── GoToLabelCommand.cs
│ │ │ │ ├── ResetStatPointAllocationsCommand.cs
│ │ │ │ ├── RestoreHpCommand.cs
│ │ │ │ ├── RestoreMpCommand.cs
│ │ │ │ ├── SetAccessCommand.cs
│ │ │ │ ├── ChangeLevelCommand.cs
│ │ │ │ ├── PlayBgmCommand.cs
│ │ │ │ ├── PlaySoundCommand.cs
│ │ │ │ ├── ChangeFaceCommand.cs
│ │ │ │ ├── WaitForRouteCommand.cs
│ │ │ │ ├── ChangeSpriteCommand.cs
│ │ │ │ ├── SetMoveRouteCommand.cs
│ │ │ │ ├── DespawnNpcCommand.cs
│ │ │ │ ├── ChangeGenderCommand.cs
│ │ │ │ ├── EndQuestCommand.cs
│ │ │ │ ├── CompleteQuestTaskCommand.cs
│ │ │ │ ├── SetSelfSwitchCommand.cs
│ │ │ │ ├── ShowTextCommand.cs
│ │ │ │ ├── SetGuildBankSlotsCommand.cs
│ │ │ │ ├── ScreenFadeCommand.cs
│ │ │ │ └── ChangeNameColorCommand.cs
│ │ │ ├── EventMovementSpeed.cs
│ │ │ ├── EventMovementFrequency.cs
│ │ │ ├── ItemEventTrigger.cs
│ │ │ ├── VariableComparator.cs
│ │ │ ├── StringVariableMod.cs
│ │ │ └── BooleanVariableMod.cs
│ │ ├── Annotations
│ │ │ ├── EditorFieldType.cs
│ │ │ └── EditorTimeAttribute.cs
│ │ ├── Animations
│ │ │ ├── AnimationSource.cs
│ │ │ └── AnimationSourceType.cs
│ │ ├── Maps
│ │ │ ├── Point16i.cs
│ │ │ ├── MapZone.cs
│ │ │ ├── WarpDirection.cs
│ │ │ ├── NpcSpawnDirection.cs
│ │ │ ├── Attributes
│ │ │ │ ├── MapBlockedAttribute.cs
│ │ │ │ ├── MapNpcAvoidAttribute.cs
│ │ │ │ └── MapGrappleStoneAttribute.cs
│ │ │ ├── MapList
│ │ │ │ └── MapListItem.cs
│ │ │ ├── ResourceSpawn.cs
│ │ │ ├── Tile.cs
│ │ │ └── MapAttributeType.cs
│ │ ├── IGameObject.cs
│ │ ├── Conditions
│ │ │ ├── ConditionMetadata
│ │ │ │ ├── VariableComparison.cs
│ │ │ │ ├── CombatCondition.cs
│ │ │ │ ├── MapIsCondition.cs
│ │ │ │ ├── ClassIsCondition.cs
│ │ │ │ ├── CheckEquippedSlot.cs
│ │ │ │ ├── KnowsSpellCondition.cs
│ │ │ │ ├── CanStartQuestCondition.cs
│ │ │ │ ├── IsItemEquippedCondition.cs
│ │ │ │ ├── QuestCompletedCondition.cs
│ │ │ │ ├── TimeBetweenCondition.cs
│ │ │ │ ├── GenderIsCondition.cs
│ │ │ │ ├── NoNpcsOnMapCondition.cs
│ │ │ │ ├── SelfSwitchCondition.cs
│ │ │ │ └── AccessIsCondition.cs
│ │ │ └── Condition.cs
│ │ ├── Projectiles
│ │ │ ├── Location.cs
│ │ │ └── GrappleOption.cs
│ │ ├── Resources
│ │ │ └── ResourceTextureSource.cs
│ │ ├── Quests
│ │ │ ├── QuestObjective.cs
│ │ │ ├── QuestProgressState.cs
│ │ │ └── QuestProgress.cs
│ │ ├── Items
│ │ │ ├── ConsumableType.cs
│ │ │ ├── ItemType.cs
│ │ │ ├── ItemEffect.cs
│ │ │ └── ConsumableData.cs
│ │ ├── Spells
│ │ │ ├── SpellType.cs
│ │ │ ├── SpellTargetType.cs
│ │ │ ├── SpellWarpDescriptor.cs
│ │ │ └── SpellDashDescriptor.cs
│ │ └── PlayerClass
│ │ │ ├── ClassSprite.cs
│ │ │ └── ClassSpell.cs
│ ├── Threading
│ │ └── ILockingActionQueue.cs
│ ├── Async
│ │ ├── ICancellableGenerator.cs
│ │ └── ICancellableGenerator`1.cs
│ ├── Security
│ │ ├── PermissionSetChangedHandler.cs
│ │ ├── ActivePermissionSetChangedHandler.cs
│ │ └── PasswordResetResultType.cs
│ ├── AssetManagement
│ │ ├── DownloadState.cs
│ │ ├── UpdaterStatus.cs
│ │ ├── DownloadValidity.cs
│ │ ├── UpdateStatus.cs
│ │ └── DownloadResult.cs
│ ├── Properties
│ │ └── AssemblyAttributes.cs
│ ├── Chatting
│ │ └── ChatboxChannel.cs
│ ├── Editor
│ │ └── Mapping
│ │ │ └── MapListUpdate.cs
│ ├── Collections
│ │ ├── IGameObjectLookup.cs
│ │ ├── ListExtensions.cs
│ │ └── SanitizedValue.cs
│ ├── Plugins
│ │ ├── Interfaces
│ │ │ └── ILifecycleHelper.cs
│ │ ├── PluginConfiguration.cs
│ │ └── IPluginContext`1.cs
│ ├── Features
│ │ └── Guilds
│ │ │ └── GuildMemberUpdateAction.cs
│ ├── Serialization
│ │ └── IRestrictedContractResolver.cs
│ ├── Direction.cs
│ └── Attributes
│ │ └── RelatedTableAttribute.cs
├── Intersect.Framework
│ ├── Services
│ │ ├── Bootstrapping
│ │ │ ├── BootstrapServiceOptions.cs
│ │ │ ├── IBootstrapTask.cs
│ │ │ └── IBootstrapperService.cs
│ │ ├── EmbeddedResources
│ │ │ └── EmbeddedResourceUnpackingServiceOptions.cs
│ │ └── ExceptionHandling
│ │ │ └── IExceptionHandlingService.cs
│ ├── Eventing
│ │ ├── EventHandler`2.cs
│ │ ├── IAggregateSender.cs
│ │ └── IAggregateSender`1.cs
│ ├── Net
│ │ ├── NetworkTypes.cs
│ │ └── NetworkTypesExtensions.cs
│ ├── SystemInformation
│ │ └── IGPUStatisticsProvider.cs
│ └── Annotations
│ │ ├── PasswordAttribute.cs
│ │ └── IgnoreAttribute.cs
└── Directory.Build.props
├── Intersect.SinglePlayer
└── Networking
│ └── NetworkPairAccessor.cs
├── Utilities
├── Intersect.OpenPortChecker
│ ├── PendingRequest.cs
│ ├── PortCheckerOptions.cs
│ ├── appsettings.json
│ └── appsettings.Development.json
└── Directory.Build.props
├── vendor
└── Directory.Build.props
├── Intersect.Server.Framework
├── Items
│ ├── ItemSourceType.cs
│ ├── IItemSource.cs
│ ├── IItem.cs
│ ├── MapItemSource.cs
│ └── EntityItemSource.cs
├── Maps
│ └── IMapInstance.cs
├── Entities
│ └── IEntity.cs
└── Plugins
│ ├── ServerPluginEntry.cs
│ ├── Helpers
│ └── IServerLifecycleHelper.cs
│ └── IServerPluginContext.cs
├── .gitmodules
├── NuGet.Config
├── .github
└── ISSUE_TEMPLATE
│ └── config.yml
├── .dockerignore
├── Intersect.Tests.Client
└── Stub.cs
├── .gitattributes
├── Intersect.Tests.Editor
└── Stub.cs
└── Intersect.Tests.Network
└── Stub.cs
/assets/production/client/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/production/server/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/staging/client/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/staging/server/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Client/GlobalSuppressions.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/development/client/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/assets/development/server/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/.name:
--------------------------------------------------------------------------------
1 | Intersect
--------------------------------------------------------------------------------
/assets/development/single-player/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/User/Index.cshtml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/.gitignore:
--------------------------------------------------------------------------------
1 | steam_appid.txt
2 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Developer/Index.cshtml.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Shared/_Toast.cshtml.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/User/UserProfile.cshtml.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Developer/Assets/_TabSet.cshtml.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Resources/runtimes/.gitignore:
--------------------------------------------------------------------------------
1 | **/native/**
2 |
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/.name:
--------------------------------------------------------------------------------
1 | Intersect.Examples
--------------------------------------------------------------------------------
/Intersect.Client/Icon.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Client/Icon.bmp
--------------------------------------------------------------------------------
/Intersect.Editor/DarkUI.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/DarkUI.dll
--------------------------------------------------------------------------------
/Intersect.Editor/Pngcs.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Pngcs.dll
--------------------------------------------------------------------------------
/Intersect.Editor/sqlite3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/sqlite3.dll
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/IdPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | public record struct IdPayload(Guid Id);
--------------------------------------------------------------------------------
/assets/intersect-logo-qu.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/assets/intersect-logo-qu.bmp
--------------------------------------------------------------------------------
/assets/intersect-logo-qu.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/assets/intersect-logo-qu.ico
--------------------------------------------------------------------------------
/assets/intersect-logo-qu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/assets/intersect-logo-qu.png
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/layer.png
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/ISqliteDbContext.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public interface ISqliteDbContext
4 | {
5 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/Intersect.Client.Core/ThirdParty/Steam.NativeInterop.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.ThirdParty;
2 |
3 | public partial class Steam
4 | {
5 |
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/ColorizedText.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Utilities;
2 |
3 | public record struct ColorizedText(string Text, Color? Color);
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/layer_face.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/layer_face.png
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/layer_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/layer_sel.png
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/sqlite3x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/sqlite3x64.dll
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/sqlite3x86.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/sqlite3x86.dll
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/IMySqlDbContext.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public interface IMySqlDbContext : IDbContext
4 | {
5 | }
--------------------------------------------------------------------------------
/Intersect (Core)/IO/ISaveable.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.IO;
2 |
3 |
4 | public interface ISaveable
5 | {
6 |
7 | bool Save();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Resources/openal32.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Client.Core/Resources/openal32.dll
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/layer_hidden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/layer_hidden.png
--------------------------------------------------------------------------------
/Intersect.Network/IServer.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 |
4 | public interface IServer
5 | {
6 |
7 | bool Listen();
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Server/Resources/e_sqlite3x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/Resources/e_sqlite3x64.dll
--------------------------------------------------------------------------------
/Intersect.Server/Resources/e_sqlite3x86.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/Resources/e_sqlite3x86.dll
--------------------------------------------------------------------------------
/Documentation/Features.HomepageLeaderboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Documentation/Features.HomepageLeaderboard.png
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/Gender.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum Gender
4 | {
5 | Male = 0,
6 |
7 | Female,
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/Vital.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum Vital
4 | {
5 | Health = 0,
6 |
7 | Mana,
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/layer_face_sel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/layer_face_sel.png
--------------------------------------------------------------------------------
/Intersect.Server/Resources/libe_sqlite3.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/Resources/libe_sqlite3.dylib
--------------------------------------------------------------------------------
/Intersect.Server/Resources/libe_sqlite3_x64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/Resources/libe_sqlite3_x64.so
--------------------------------------------------------------------------------
/Intersect.Server/Resources/libe_sqlite3_x86.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Server/Resources/libe_sqlite3_x86.so
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Shared/_Toast.cshtml:
--------------------------------------------------------------------------------
1 | @model ToastModel
2 |
3 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Demo/DemoResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Demo;
2 |
3 | public record struct DemoResponseBody(string Value);
4 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Config/OptionsLoadedEventHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect;
2 |
3 | public delegate void OptionsLoadedEventHandler(Options options);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Models/IObject.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Models;
2 |
3 |
4 | public interface IObject
5 | {
6 | Guid Id { get; }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Delegates.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate bool HandlePacket(IConnection connection, IPacket packet);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/NodePair.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public record struct NodePair(Base This, Base? Parent);
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/intersect-logo-qu.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/intersect-logo-qu.ico
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/User/UserProfile.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Pages.User;
2 |
3 | public partial record UserProfile(string Username, string? Avatar);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/LevelChangeRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public record struct LevelChangeRequestBody(int Level);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/StatusMessageResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | public record struct StatusMessageResponseBody(string Message);
--------------------------------------------------------------------------------
/Intersect.Client.Core/Interface/Menu/IMainMenuWindow.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Menu;
2 |
3 | public interface IMainMenuWindow
4 | {
5 | void Show();
6 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/IntersectModelOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | internal sealed record IntersectModelOptions(bool DisableAutoInclude);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/User/AdminChangeRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.User;
2 |
3 | public record struct AdminChangeRequestBody(string New);
4 |
--------------------------------------------------------------------------------
/Intersect.SinglePlayer/Networking/NetworkPairAccessor.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.SinglePlayer.Networking;
2 |
3 | internal delegate SinglePlayerNetwork? NetworkPairAccessor();
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/TargetType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum TargetType
4 | {
5 | Hover = 0,
6 |
7 | Selected = 1,
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Web/TokenTypes.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Web;
2 |
3 | public static class TokenTypes
4 | {
5 | public const string Bearer = "bearer";
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/BufferUsage.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum BufferUsage
4 | {
5 | None,
6 | WriteOnly,
7 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Input/FocusSource.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Input;
2 |
3 | public enum FocusSource
4 | {
5 | Keyboard,
6 | Mouse,
7 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Localization/BooleanStyle.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Localization;
2 |
3 | public enum BooleanStyle
4 | {
5 | TrueFalse,
6 | YesNo,
7 | }
8 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandlePacketAvailable.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate void HandlePacketAvailable(INetworkLayerInterface sender);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/ShouldProcessPacket.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate bool ShouldProcessPacket(IConnection connection, long pSize);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Services/Bootstrapping/BootstrapServiceOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Services.Bootstrapping;
2 |
3 | public record BootstrapServiceOptions;
--------------------------------------------------------------------------------
/Intersect (Core)/Enums/DamageType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum DamageType
4 | {
5 | Physical = 0,
6 |
7 | Magic,
8 |
9 | True,
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Skin/skin-intersect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Client.Framework/Gwen/Skin/skin-intersect.png
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/WrappingBehavior.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen;
2 |
3 | public enum WrappingBehavior
4 | {
5 | NoWrap,
6 |
7 | Wrapped,
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Input/InputDeviceType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Input;
2 |
3 | public enum InputDeviceType
4 | {
5 | Mouse,
6 | Controller
7 | }
8 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/ExternalModelCacheKey.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | internal sealed record ExternalModelCacheKey(Type ContextType, bool DesignTime);
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/MigrationType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public enum MigrationType
4 | {
5 | Clean,
6 | Data,
7 | Schema,
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/PlayerData/LoginFailureReason.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.PlayerData;
2 |
3 | public record struct LoginFailureReason(LoginFailureType Type);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Info/AuthorizedResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Info;
2 |
3 | public record struct AuthorizedResponseBody(bool authorized = true);
4 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/OnlineCountResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public record struct OnlineCountResponseBody(int OnlineCount);
4 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/VariableMod.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 |
4 | public partial class VariableMod
5 | {
6 |
7 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Localization/Localized.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Localization;
2 |
3 |
4 | [Serializable]
5 | public abstract partial class Localized
6 | {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandlePacketGeneric.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate bool HandlePacketGeneric(IPacketSender packetSender, IPacket packet);
--------------------------------------------------------------------------------
/Intersect.Client.Core/Resources/Shaders/radialgradient.xnb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Client.Core/Resources/Shaders/radialgradient.xnb
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Chat/ChatMessageResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Chat;
2 |
3 | public record ChatMessageResponseBody(bool Success, ChatMessage ChatMessage);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/User/PasswordValidationRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.User;
2 |
3 | public record struct PasswordValidationRequestBody(string Password);
--------------------------------------------------------------------------------
/Documentation/Intersect Documentation.url:
--------------------------------------------------------------------------------
1 | [{000214A0-0000-0000-C000-000000000046}]
2 | Prop3=19,11
3 | [InternetShortcut]
4 | IDList=
5 | URL=https://docs.freemmorpgmaker.com/
6 | HotKey=0
7 |
--------------------------------------------------------------------------------
/Intersect (Core)/IO/ILoadable.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.IO;
2 |
3 |
4 | public interface ILoadable
5 | {
6 |
7 | bool Load(TFrom from = default(TFrom));
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Configuration/Features/Typewriter/TypewriterBehavior.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum TypewriterBehavior
4 | {
5 | Off,
6 | Word,
7 | }
8 |
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/Shaders/radialgradient_editor.xnb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/Shaders/radialgradient_editor.xnb
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @using Intersect
2 | @{
3 | Layout = "Shared/_Layout.cshtml";
4 |
5 | ViewData[nameof(Options.GameName)] = Options.Instance.GameName;
6 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/NameChangePayload.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | public partial struct NameChangePayload
4 | {
5 | public string Name { get; set; }
6 | }
7 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/VariableValueBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | public partial struct VariableValueBody
4 | {
5 | public dynamic Value { get; set; }
6 | }
7 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Models/INamedObject.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Models;
2 |
3 |
4 | public interface INamedObject : IObject
5 | {
6 | string Name { get; set; }
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Threading/ILockingActionQueue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Threading;
2 |
3 | public interface ILockingActionQueue
4 | {
5 | Action? NextAction { get; set; }
6 | }
--------------------------------------------------------------------------------
/Intersect (Core)/Localization/LocaleNamespace.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Localization;
2 |
3 |
4 | [Serializable]
5 | public abstract partial class LocaleNamespace : Localized
6 | {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Interface/Menu/PasswordChangeMode.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Menu;
2 |
3 | public enum PasswordChangeMode
4 | {
5 | ResetToken,
6 | ExistingPassword,
7 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/IDash.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public interface IDash
4 | {
5 | float OffsetX { get; }
6 | float OffsetY { get; }
7 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Skin/Texturing/UVSquare.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Skin.Texturing;
2 |
3 | public record struct UVSquare(float U1, float V1, float U2, float V2);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Guild/GuildRankPayload.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Guild;
2 |
3 | public partial struct GuildRankPayload
4 | {
5 | public int Rank { get; set; }
6 | }
7 |
--------------------------------------------------------------------------------
/Utilities/Intersect.OpenPortChecker/PendingRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.OpenPortChecker;
2 |
3 | internal record struct PendingRequest(Guid Id, TaskCompletionSource TaskCompletionSource);
--------------------------------------------------------------------------------
/vendor/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 | linux-arm64;linux-x64;osx-arm64;osx-x64;win-x64
4 |
5 |
--------------------------------------------------------------------------------
/Intersect (Core)/IO/ISaveable.Generic.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.IO;
2 |
3 |
4 | public interface ISaveable : ISaveable
5 | {
6 |
7 | bool Save(TTo to = default(TTo));
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/ScreenshotRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public record struct ScreenshotRequest(Func StreamFactory, string? Hint = default);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/WriteTextureToStreamDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public delegate bool WriteTextureToStreamDelegate(Stream stream, string? hint);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/ValueChangeHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public delegate void ValueChangeHandler(TValue oldValue, TValue newValue);
--------------------------------------------------------------------------------
/Intersect.Server.Core/Collections/Sorting/SortDirection.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Collections.Sorting;
2 |
3 | public enum SortDirection
4 | {
5 | Ascending,
6 |
7 | Descending,
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Entities/Pathfinding/IIndexedObject.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Entities.Pathfinding;
2 |
3 | public interface IIndexedObject
4 | {
5 |
6 | int Index { get; set; }
7 |
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Items/ItemSourceType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Framework.Items;
2 |
3 | public enum ItemSourceType
4 | {
5 | Unknown = 0,
6 | Entity = 1,
7 | Map = 2,
8 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/User/AuthorizedChangeRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.User;
2 |
3 | public record struct AuthorizedChangeRequestBody(string Authorization, string New);
4 |
--------------------------------------------------------------------------------
/Examples/Intersect.Examples.Plugin.Client/Assets/join-our-discord.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Examples/Intersect.Examples.Plugin.Client/Assets/join-our-discord.png
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Async/ICancellableGenerator.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Async;
2 |
3 | public interface ICancellableGenerator : IDisposable
4 | {
5 | ICancellableGenerator Start();
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandleConnectionRequest.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate bool HandleConnectionRequest(INetworkLayerInterface sender, IConnection connection);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/IPacketHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public interface IPacketHandler
4 | {
5 | bool Handle(IPacketSender packetSender, IPacket packet);
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Security/PermissionSetChangedHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.Security;
2 |
3 | public delegate void PermissionSetChangedHandler(PermissionSet permissionSet);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/BufferWriteMode.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum BufferWriteMode
4 | {
5 | Overwrite,
6 | Discard,
7 | NoOverwrite,
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/PrimitiveType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum PrimitiveType
4 | {
5 | LineList,
6 | TriangleList,
7 | TriangleStrip,
8 | }
--------------------------------------------------------------------------------
/Intersect.Network/LiteNetLib/UnconnectedPacketType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network.LiteNetLib;
2 |
3 | public enum UnconnectedPacketType : byte
4 | {
5 | Plaintext = 0,
6 | AsymmetricEncrypted,
7 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Items/IItemSource.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Framework.Items;
2 |
3 | public interface IItemSource
4 | {
5 | Guid Id { get; }
6 | ItemSourceType SourceType { get; }
7 | }
--------------------------------------------------------------------------------
/Examples/Intersect.Examples.Plugin.ClientVB/Assets/join-our-discord.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Examples/Intersect.Examples.Plugin.ClientVB/Assets/join-our-discord.png
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Annotations/EditorFieldType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.GameObjects.Annotations;
2 |
3 | public enum EditorFieldType
4 | {
5 | Default,
6 |
7 | Pivot,
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/FadeType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum FadeType
4 | {
5 | None = 0,
6 | FadeIn,
7 | FadeOut,
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Eventing/EventHandler`2.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Eventing;
2 |
3 | public delegate void EventHandler(TSender sender, TArgs args) where TArgs : EventArgs;
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/NativeInterop/KnownLibrary.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.MonoGame.NativeInterop;
2 |
3 | public enum KnownLibrary
4 | {
5 | OpenAL,
6 | SDL2,
7 | steam_api,
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Core/Sounds/IMapSound.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Core.Sounds;
2 |
3 | public interface IMapSound : ISound
4 | {
5 | void UpdatePosition(int x, int y, Guid mapId);
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/Utility/SearchableTreeFilterCriteria.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.Utility;
2 |
3 | public record struct SearchableTreeFilterCriteria(string? Query);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Authentication/SecuritySchemes.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Authentication;
2 |
3 | public static class SecuritySchemes
4 | {
5 | public const string Bearer = nameof(Bearer);
6 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Shared/_Toasts.cshtml:
--------------------------------------------------------------------------------
1 | @using Microsoft.AspNetCore.Mvc.TagHelpers
2 | @model ToastModel[]
3 |
4 | @foreach (var model in Model)
5 | {
6 |
7 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Animations/AnimationSource.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Animations;
2 |
3 | public record struct AnimationSource(AnimationSourceType Type, Guid Id);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/DisplayMode.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public enum DisplayMode
4 | {
5 | Initial,
6 | FlowStartToEnd,
7 | FlowTopToBottom,
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/IAutoSizeToContents.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public interface IAutoSizeToContents
4 | {
5 | bool AutoSizeToContents { get; set; }
6 | }
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/Point16i.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public partial struct Point16i
4 | {
5 | public short X;
6 |
7 | public short Y;
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Security/ActivePermissionSetChangedHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.Security;
2 |
3 | public delegate void ActivePermissionSetChangedHandler(string activePermissionSetName);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/IColorPicker.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 |
4 | public interface IColorPicker
5 | {
6 |
7 | Color SelectedColor { get; }
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/IntersectModelCacheKey.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | internal sealed record IntersectModelCacheKey(Type ContextType, bool DesignTime, IntersectModelOptions ModelOptions);
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/PlayerData/LoginFailureType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.PlayerData;
2 |
3 | public enum LoginFailureType
4 | {
5 | None,
6 | InvalidCredentials,
7 | ServerError,
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Maps/IMapInstance.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Framework.Maps;
2 |
3 | public interface IMapInstance: IDisposable
4 | {
5 | Guid Id { get; }
6 | public Guid MapInstanceId { get; }
7 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Configuration/PartialKestrelEndpoint.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Configuration;
2 |
3 | public sealed record PartialKestrelEndpoint(string Url, PartialKestrelEndpointCertificate? Certificate);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Animations/AnimationSourceType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Animations;
2 |
3 | public enum AnimationSourceType
4 | {
5 | Any,
6 | SpellCast,
7 | }
8 |
--------------------------------------------------------------------------------
/Intersect (Core)/Collections/Slotting/ISlot.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Collections.Slotting;
2 |
3 |
4 | public interface ISlot
5 | {
6 |
7 | int Slot { get; }
8 |
9 | bool IsEmpty { get; }
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect (Core)/Enums/NpcMovement.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum NpcMovement
4 | {
5 | MoveRandomly = 0,
6 |
7 | TurnRandomly,
8 |
9 | StandStill,
10 |
11 | Static,
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/NativeInterop/Platform.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.MonoGame.NativeInterop;
2 |
3 | public enum Platform
4 | {
5 | Unknown,
6 | Linux,
7 | MacOS,
8 | Windows
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/ComponentState.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public enum ComponentState
4 | {
5 | Normal = 0,
6 | Hovered,
7 | Active,
8 | Disabled,
9 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Input/KeyboardType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Input;
2 |
3 | public enum KeyboardType
4 | {
5 | Normal,
6 | Password,
7 | Email,
8 | Numeric,
9 | Pin,
10 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/PlayerData/UserRole.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.PlayerData;
2 |
3 | public class UserRole
4 | {
5 | public Guid Id { get; set; }
6 |
7 | public string Name { get; set; }
8 | }
--------------------------------------------------------------------------------
/Documentation/AvatarController/AvatarController.FileStructureEditorResources.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Documentation/AvatarController/AvatarController.FileStructureEditorResources.png
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/MapZone.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public enum MapZone
4 | {
5 | Normal = 0,
6 |
7 | Safe,
8 |
9 | Arena,
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/EventArguments/InputSubmissionEvent/SubmissionValue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.EventArguments.InputSubmissionEvent;
2 |
3 | public abstract record SubmissionValue;
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/Layout/IFitHeightToContents.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.Layout;
2 |
3 | public interface IFitHeightToContents
4 | {
5 | bool FitHeightToContents { get; set; }
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/OverflowBehavior.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen;
2 |
3 | public enum OverflowBehavior
4 | {
5 | Auto,
6 |
7 | Visible,
8 |
9 | Hidden,
10 |
11 | Scroll,
12 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Maps/IMapAnimation.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Entities;
2 |
3 | namespace Intersect.Client.Framework.Maps;
4 |
5 | public interface IMapAnimation : IAnimation
6 | {
7 | Guid Id { get; }
8 | }
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/AssetManagement/DownloadState.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.AssetManagement;
2 |
3 | internal enum DownloadState
4 | {
5 | Queued,
6 | Failed,
7 | Active,
8 | Completed,
9 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Access.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum Access
4 | {
5 | None = 0,
6 |
7 | Moderator,
8 |
9 | Admin,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/IGameObject.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.GameObjects;
2 |
3 |
4 | public interface IGameObject where TValue : IGameObject
5 | {
6 | TKey Id { get; }
7 | }
8 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandleUnconnectedMessage.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Memory;
2 |
3 | namespace Intersect.Network;
4 |
5 | public delegate void HandleUnconnectedMessage(UnconnectedMessageSender sender, IBuffer message);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Eventing/IAggregateSender.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Eventing;
2 |
3 | public interface IAggregateSender
4 | {
5 | object CurrentSender { get; }
6 |
7 | object? OriginalSender { get; }
8 | }
--------------------------------------------------------------------------------
/Intersect (Core)/Enums/EventResponseType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum EventResponseType
4 | {
5 | OneOption = 1,
6 |
7 | TwoOption,
8 |
9 | ThreeOption,
10 |
11 | FourOption,
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/Interfaces/GameDrawHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Plugins.Interfaces;
2 |
3 | public delegate void GameDrawHandler(
4 | IClientPluginContext context,
5 | GameDrawArgs drawGameArgs
6 | );
--------------------------------------------------------------------------------
/Intersect.Editor/Properties/launchSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "Intersect.Editor": {
4 | "commandName": "Project",
5 | "workingDirectory": "$(ProjectDir)../assets/development/client"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/VariableComparison.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class VariableComparison
4 | {
5 |
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/StringVariableComparator.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum StringVariableComparator
4 | {
5 | Equal = 0,
6 |
7 | Contains,
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Net/NetworkTypes.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Net;
2 |
3 | [Flags]
4 | public enum NetworkTypes
5 | {
6 | Public = 0,
7 | Loopback = 1,
8 | Subnet = 2,
9 | PrivateNetwork = 4,
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Net/NetworkTypesExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Net;
2 |
3 | public static class NetworkTypesExtensions
4 | {
5 | public static readonly NetworkTypes[] Flags = Enum.GetValues();
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Services/Bootstrapping/IBootstrapTask.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Services.Bootstrapping;
2 |
3 | public interface IBootstrapTask
4 | {
5 | Task ExecuteAsync(CancellationToken cancellationToken);
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Services/Bootstrapping/IBootstrapperService.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Extensions.Hosting;
2 |
3 | namespace Intersect.Framework.Services.Bootstrapping;
4 |
5 | public interface IBootstrapperService : IHostedService { }
--------------------------------------------------------------------------------
/Intersect (Core)/IO/ISaveableProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.IO;
2 |
3 |
4 | public interface ISaveableProvider
5 | {
6 |
7 | ISaveable DefaultSaveable { get; }
8 |
9 | ISaveable AsSaveable();
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/NativeInterop/Sdl2.Rect.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.MonoGame.NativeInterop;
2 |
3 | public struct SDL_Rect
4 | {
5 | public int x;
6 | public int y;
7 | public int w;
8 | public int h;
9 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/BoundsComparison.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum BoundsComparison
4 | {
5 | Width,
6 |
7 | Height,
8 |
9 | Dimensions,
10 |
11 | Area,
12 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/BufferEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public class BufferEventArgs(IGPUBuffer gpuBuffer) : EventArgs
4 | {
5 | public IGPUBuffer Buffer { get; } = gpuBuffer;
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/HSV.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen;
2 |
3 |
4 | public partial struct Hsv
5 | {
6 |
7 | public float H;
8 |
9 | public float s;
10 |
11 | public float V;
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/ClientPluginEntry.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Plugins;
2 |
3 | namespace Intersect.Client.Plugins;
4 |
5 | public abstract partial class ClientPluginEntry : PluginEntry
6 | {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_pause_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_pause_white_48dp.png
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_save_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_save_white_48dp.png
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_undo_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_undo_white_48dp.png
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Entities/IEntity.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Framework.Entities;
2 |
3 | public interface IEntity: IDisposable
4 | {
5 | Guid Id { get; }
6 | string Name { get; }
7 | Guid MapInstanceId { get; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Shared/_ValidationScriptsPartial.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using Intersect.Server.Web.Pages
2 | @using Htmx.TagHelpers
3 | @namespace Intersect.Server.Web.Pages
4 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
5 | @addTagHelper *, Htmx.TagHelpers
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Projectiles/Location.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.GameObjects;
2 |
3 | public partial class Location
4 | {
5 | public bool[] Directions = new bool[ProjectileDescriptor.MAX_PROJECTILE_DIRECTIONS];
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/IUpdatableDataProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Data;
2 |
3 | public interface IUpdatableDataProvider : IDataProvider
4 | {
5 | bool TryUpdate(TimeSpan elapsed, TimeSpan total);
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/ValueAdapterDelegate.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Data;
2 |
3 | public delegate TDependentValue ValueAdapterDelegate(TBaseValue value, TBaseValue oldValue);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/Interfaces/GameUpdateHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Plugins.Interfaces;
2 |
3 | public delegate void GameUpdateHandler(
4 | IClientPluginContext context,
5 | GameUpdateArgs gameUpdateArgs
6 | );
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_colorize_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_colorize_white_48dp.png
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/PlayerData/UserSaveResult.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.PlayerData;
2 |
3 | public enum UserSaveResult
4 | {
5 | Completed,
6 | SkippedCouldNotTakeLock,
7 | Failed,
8 | DatabaseFailure,
9 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Index.cshtml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.RazorPages;
2 |
3 | namespace Intersect.Server.Web.Pages;
4 |
5 | public class IndexModel : PageModel
6 | {
7 | public void OnGet()
8 | {
9 | }
10 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_upload/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/AssetManagement/UpdaterStatus.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.AssetManagement;
2 |
3 | public enum UpdaterStatus
4 | {
5 | Offline,
6 | NeedsAuthentication,
7 | Ready,
8 | NoUpdateNeeded,
9 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/Stat.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum Stat
4 | {
5 | Attack = 0,
6 |
7 | AbilityPower,
8 |
9 | Defense,
10 |
11 | MagicResist,
12 |
13 | Speed,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Resources/ResourceTextureSource.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Resources;
2 |
3 | public enum ResourceTextureSource
4 | {
5 | Resource,
6 | Tileset,
7 | Animation,
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Properties/AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Intersect.Framework.Core.Tests")]
2 | [assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Intersect Core")]
3 |
--------------------------------------------------------------------------------
/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_play_arrow_white_48dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AscensionGameDev/Intersect-Engine/HEAD/Intersect.Editor/Resources/ThirdParty/material-design-icons/sharp_play_arrow_white_48dp.png
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/SchemaMigrationMetadata.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public class SchemaMigrationMetadata : MigrationMetadata
4 | {
5 | public override MigrationType MigrationType => MigrationType.Schema;
6 | }
7 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Chat/ChatMessageMapResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Chat;
2 |
3 | public record ChatMessageMapResponseBody(Guid MapId, bool Success, ChatMessage ChatMessage) : ChatMessageResponseBody(Success, ChatMessage);
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/AssetManagement/DownloadValidity.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.AssetManagement;
2 |
3 | internal enum DownloadValidity
4 | {
5 | Valid,
6 | Missing,
7 | LengthMismatch,
8 | ChecksumMismatch,
9 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Chatting/ChatboxChannel.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum ChatboxChannel
4 | {
5 | Player = 0,
6 |
7 | Local,
8 |
9 | Global,
10 |
11 | Party,
12 |
13 | Guild,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Editor/Mapping/MapListUpdate.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum MapListUpdate
4 | {
5 | MoveItem = 0,
6 |
7 | AddFolder = 1,
8 |
9 | Rename = 2,
10 |
11 | Delete = 3,
12 | }
13 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventGraphicType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventGraphicType
4 | {
5 | None = 0,
6 |
7 | Sprite,
8 |
9 | Tileset,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventMovementType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventMovementType
4 | {
5 | None = 0,
6 |
7 | Random,
8 |
9 | MoveRoute,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Projectiles/GrappleOption.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum GrappleOption
4 | {
5 | MapAttribute = 0,
6 |
7 | Player,
8 |
9 | NPC,
10 |
11 | Resource,
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect (Core)/Network/NetworkLayerInterfaceFactory.cs:
--------------------------------------------------------------------------------
1 | using System.Security.Cryptography;
2 |
3 | namespace Intersect.Network;
4 |
5 | public delegate INetworkLayerInterface NetworkLayerInterfaceFactory(INetwork network, RSAParameters rsaParameters);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/IFriendInstance.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public interface IFriendInstance
4 | {
5 | string? Map { get; set; }
6 | string Name { get; set; }
7 | bool Online { get; set; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/TextureEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public class TextureEventArgs(IGameTexture gameTexture) : EventArgs
4 | {
5 | public IGameTexture GameTexture { get; } = gameTexture;
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/IColorableText.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public interface IColorableText
4 | {
5 | Color? TextColor { get; set; }
6 |
7 | Color? TextColorOverride { get; set; }
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_download/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Quests/QuestObjective.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Quests;
2 |
3 | public enum QuestObjective
4 | {
5 | EventDriven = 0,
6 |
7 | GatherItems,
8 |
9 | KillNpcs,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandleConnectionEvent.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Network.Events;
2 |
3 | namespace Intersect.Network;
4 |
5 | public delegate void HandleConnectionEvent(INetworkLayerInterface sender, ConnectionEventArgs connectionEventArgs);
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Editor/PingPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Editor;
4 |
5 |
6 | [MessagePackObject]
7 | public partial class PingPacket : IntersectPacket
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/SpellPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class SpellPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/IResource.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Framework.Core.GameObjects.Resources;
2 |
3 | namespace Intersect.Client.Framework.Entities;
4 |
5 | public interface IResource : IEntity
6 | {
7 | ResourceDescriptor? Descriptor { get; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/SpriteAnimations.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public enum SpriteAnimations
4 | {
5 | Normal = 0,
6 | Idle,
7 | Attack,
8 | Shoot,
9 | Cast,
10 | Weapon,
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/IGPUBuffer.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public interface IGPUBuffer : IDisposable
4 | {
5 | uint Id { get; }
6 |
7 | int Count { get; }
8 |
9 | int SizeBytes { get; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/DataProviderEventHandler`1.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Data;
2 |
3 | public delegate void DataProviderEventHandler(IDataProvider sender, TEventArgs args)
4 | where TEventArgs : EventArgs;
--------------------------------------------------------------------------------
/Intersect.Server/Web/IApiService.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Core;
2 | using Intersect.Server.Web.Configuration;
3 |
4 | namespace Intersect.Server.Web;
5 |
6 | public interface IApiService : IApplicationService
7 | {
8 | ApiConfiguration Configuration { get; }
9 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Items/ConsumableType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Items;
2 |
3 | public enum ConsumableType : byte
4 | {
5 | Health = 0,
6 |
7 | Mana = 1,
8 |
9 | Experience = 2,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandlePacket.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate bool HandlePacket(TPacketSender packetSender, TPacket packet)
4 | where TPacketSender : IPacketSender where TPacket : IPacket;
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/CloseBankPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class CloseBankPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/CloseShopPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class CloseShopPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/EnterGamePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class EnterGamePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/StopMusicPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class StopMusicPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/SystemInformation/IGPUStatisticsProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.SystemInformation;
2 |
3 | public interface IGPUStatisticsProvider
4 | {
5 | long? AvailableMemory { get; }
6 |
7 | long? TotalMemory { get; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Core/Sounds/ISound.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Core.Sounds;
2 |
3 | public interface ISound
4 | {
5 | bool Loaded { get; set; }
6 | bool Loop { get; set; }
7 |
8 | void Stop();
9 | bool Update();
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/General/GameStates.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.General;
2 |
3 |
4 | public enum GameStates
5 | {
6 |
7 | Intro = 0,
8 |
9 | Menu,
10 |
11 | Loading,
12 |
13 | InGame,
14 |
15 | Error
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Core/INetworkPoolDataProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Core;
2 |
3 | internal interface INetworkPoolDataProvider
4 | {
5 | long ActiveThreads { get; }
6 | long CurrentWorkItemsCount { get; }
7 | long InUseThreads { get; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/CleanDatabaseMigrationMetadata.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public sealed class CleanDatabaseMigrationMetadata : MigrationMetadata
4 | {
5 | public override MigrationType MigrationType => MigrationType.Clean;
6 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Plugins/ServerPluginEntry.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Plugins;
2 |
3 | namespace Intersect.Server.Plugins
4 | {
5 | public abstract partial class ServerPluginEntry : PluginEntry
6 | {
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Utilities/Intersect.OpenPortChecker/PortCheckerOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.OpenPortChecker;
2 |
3 | public sealed class PortCheckerOptions
4 | {
5 | public bool EnableIPv6 { get; set; } = true;
6 |
7 | public List? KnownProxies { get; set; }
8 | }
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Collections/IGameObjectLookup.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Models;
2 |
3 | namespace Intersect.Collections;
4 |
5 |
6 | public interface IGameObjectLookup : ILookup where TValue : INamedObject
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventRenderLayer.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventRenderLayer
4 | {
5 | BelowPlayer = 0,
6 |
7 | SameAsPlayer,
8 |
9 | AbovePlayer,
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Models/VariableDataType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum VariableDataType : byte
4 | {
5 | None = 0,
6 |
7 | Boolean = 1,
8 |
9 | Integer,
10 |
11 | String,
12 |
13 | Number,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/AcceptTradePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class AcceptTradePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/CloseBagPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 |
6 | [MessagePackObject]
7 | public partial class CloseBagPacket : IntersectPacket
8 | {
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/DeclineTradePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class DeclineTradePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/NewCharacterPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class NewCharacterPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/PartyLeavePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class PartyLeavePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/EnteringGamePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class EnteringGamePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/HidePicturePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class HidePicturePacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/JoinGamePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class JoinGamePacket : AbstractTimedPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/StopSoundsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Server;
4 |
5 | [MessagePackObject]
6 | public partial class StopSoundsPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/LabelType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public enum LabelType
4 | {
5 |
6 | Header = 0,
7 |
8 | Footer,
9 |
10 | Name,
11 |
12 | ChatBubble,
13 |
14 | Guild
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/IGameRenderTexture.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public interface IGameRenderTexture : IGameTexture
4 | {
5 | bool Begin();
6 |
7 | void Clear(Color black);
8 |
9 | void End();
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/EventArguments/InputSubmissionEvent/BooleanSubmissionValue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.EventArguments.InputSubmissionEvent;
2 |
3 | public sealed record BooleanSubmissionValue(bool Value) : SubmissionValue;
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/EventArguments/InputSubmissionEvent/StringSubmissionValue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.EventArguments.InputSubmissionEvent;
2 |
3 | public sealed record StringSubmissionValue(string? Value) : SubmissionValue;
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/ControlInternal/ButtonSoundState.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.ControlInternal;
2 |
3 | public enum ButtonSoundState
4 | {
5 | None,
6 | Hover,
7 | MouseDown,
8 | MouseUp,
9 | MouseClicked,
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Maps/IWeatherParticle.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Maps;
2 |
3 | public interface IWeatherParticle
4 | {
5 | float X { get; set; }
6 | float Y { get; set; }
7 |
8 | void Dispose();
9 | void Update();
10 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Entities/MovementBlockerType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Entities;
2 |
3 | public enum MovementBlockerType
4 | {
5 | NotBlocked = 0,
6 | OutOfBounds,
7 | MapAttribute,
8 | Slide,
9 | Entity,
10 | ZDimension,
11 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Authentication/AuthenticationResultType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Authentication;
2 |
3 | public enum AuthenticationResultType
4 | {
5 | Unknown,
6 | Success,
7 | ErrorOccurred,
8 | Expired,
9 | Unauthorized,
10 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Controllers/AssetManagement/AssetFileInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Controllers.AssetManagement;
2 |
3 | public sealed record AssetFileInfo(string Path, string Name, long Size) : AssetFileSystemInfo(Path, Name, AssetFileSystemInfoType.File);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Info/InfoResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Info;
2 |
3 | public readonly struct InfoResponseBody(string name, int port)
4 | {
5 | public string Name { get; } = name;
6 |
7 | public int Port { get; } = port;
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Collections/ListExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Collections;
2 |
3 | public static partial class ListExtensions
4 | {
5 | public static IReadOnlyList WrapReadOnly(this IList list) =>
6 | new ReadOnlyList(list);
7 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/EntityType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum EntityType
4 | {
5 | GlobalEntity = 0,
6 |
7 | Player = 1,
8 |
9 | Resource = 2,
10 |
11 | Projectile = 3,
12 |
13 | Event = 4,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Entities/NpcAggression.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum NpcAggression
4 | {
5 | Aggressive,
6 |
7 | AttackWhenAttacked,
8 |
9 | AttackOnSight,
10 |
11 | Neutral,
12 |
13 | Guard,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Quests/QuestProgressState.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.GameObjects;
2 |
3 | public enum QuestProgressState
4 | {
5 | OnAnyTask = 0,
6 |
7 | BeforeTask = 1,
8 |
9 | AfterTask = 2,
10 |
11 | OnTask = 3,
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Spells/SpellType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum SpellType
4 | {
5 | CombatSpell = 0,
6 |
7 | Warp = 1,
8 |
9 | WarpTo = 2,
10 |
11 | Dash = 3,
12 |
13 | Event = 4,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/HandlePacketVoid.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public delegate void HandlePacketVoid(TPacketSender packetSender, TPacket packet)
4 | where TPacketSender : IPacketSender where TPacket : IPacket;
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/CloseCraftingPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class CloseCraftingPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/RequestFriendsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class RequestFriendsPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/UnconnectedPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network;
4 |
5 | public abstract class UnconnectedPacket : IntersectPacket
6 | {
7 | [Key(0)] public Guid MessageId { get; private set; } = Guid.NewGuid();
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/IHotbarInstance.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public interface IHotbarInstance
4 | {
5 | Guid BagId { get; set; }
6 | Guid ItemOrSpellId { get; set; }
7 | int[] PreferredStatBuffs { get; set; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/EventArguments/InputSubmissionEvent/NumericalSubmissionValue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.EventArguments.InputSubmissionEvent;
2 |
3 | public sealed record NumericalSubmissionValue(double Value) : SubmissionValue;
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Items/IMapItemInstance.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Items;
2 |
3 | public interface IMapItemInstance : IItem
4 | {
5 | int TileIndex { get; }
6 | Guid Id { get; set; }
7 | int X { get; set; }
8 | int Y { get; set; }
9 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Controllers/AssetManagement/AssetDirectoryInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Controllers.AssetManagement;
2 |
3 | public sealed record AssetDirectoryInfo(string Path, string Name) : AssetFileSystemInfo(Path, Name, AssetFileSystemInfoType.Directory);
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/User/Index.cshtml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.RazorPages;
2 |
3 | namespace Intersect.Server.Web.Pages.User;
4 |
5 | public class UserIndexModel : PageModel
6 | {
7 | public void OnGet()
8 | {
9 |
10 | }
11 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/notification/account_tree/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "vendor/LiteNetLib"]
2 | path = vendor/LiteNetLib
3 | url = https://github.com/AscensionGameDev/LiteNetLib.git
4 | [submodule "vendor/dockpanelsuite"]
5 | path = vendor/dockpanelsuite
6 | url = https://github.com/AscensionGameDev/dockpanelsuite.git
7 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/WarpDirection.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public enum WarpDirection
4 | {
5 | Retain = 0,
6 |
7 | Up,
8 |
9 | Down,
10 |
11 | Left,
12 |
13 | Right,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/OpenAdminWindowPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class OpenAdminWindowPacket : IntersectPacket
7 | {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/UnconnectedResponsePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network;
4 |
5 | public abstract class UnconnectedResponsePacket : UnconnectedPacket
6 | {
7 | [IgnoreMember] public byte[] ResponseKey { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Plugins/Interfaces/ILifecycleHelper.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Plugins.Interfaces;
2 |
3 | ///
4 | /// Defines the API for accessing lifecycle information and events.
5 | ///
6 | public interface ILifecycleHelper
7 | {
8 | }
9 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Security/PasswordResetResultType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.Security;
2 |
3 | public enum PasswordResetResultType
4 | {
5 | Unknown,
6 | Success,
7 | NoUserFound,
8 | InvalidRequest,
9 | InvalidToken,
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Services/EmbeddedResources/EmbeddedResourceUnpackingServiceOptions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Services.EmbeddedResources;
2 |
3 | public sealed record EmbeddedResourceUnpackingServiceOptions(IEnumerable Requests);
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/FontSizeRenderer.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public abstract class FontSizeRenderer(TPlatformObject platformObject)
4 | {
5 | public TPlatformObject PlatformObject { get; } = platformObject;
6 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/NodeFilter.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | [Flags]
4 | public enum NodeFilter
5 | {
6 | None,
7 |
8 | IncludeHidden = 1,
9 | IncludeMouseInputDisabled = 2,
10 | IncludeText = 4,
11 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Sys/GameSystem.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Sys;
2 |
3 |
4 | public abstract partial class GameSystem
5 | {
6 |
7 | public abstract void Log(string msg);
8 |
9 | public abstract void LogError(string error);
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/ISeedableContext.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 |
3 | namespace Intersect.Server.Database;
4 |
5 |
6 | public interface ISeedableContext
7 | {
8 |
9 | DbSet GetDbSet() where TType : class;
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Maps/MapNpcSpawn.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Entities;
2 |
3 | namespace Intersect.Server.Maps;
4 |
5 | public partial class MapNpcSpawn
6 | {
7 | public Npc Entity { get; set; }
8 |
9 | public long RespawnTime { get; set; } = -1;
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Developer/Assets/_TabSet.cshtml.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc.RazorPages;
2 |
3 | namespace Intersect.Server.Web.Pages.Developer.Assets;
4 |
5 | public class _TabSet : PageModel
6 | {
7 | public void OnGet()
8 | {
9 | }
10 | }
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/indexLayout.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Features/Guilds/GuildMemberUpdateAction.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum GuildMemberUpdateAction
4 | {
5 | Invite = 0,
6 |
7 | Remove,
8 |
9 | Promote,
10 |
11 | Demote,
12 |
13 | Transfer,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventTrigger.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventTrigger
4 | {
5 | ActionButton = 0,
6 |
7 | PlayerCollide,
8 |
9 | Autorun,
10 |
11 | PlayerBump,
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect (Core)/Network/PortHelper.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 |
4 | public static partial class PortHelper
5 | {
6 |
7 | public static bool IsValidPort(ulong port)
8 | {
9 | return 0 < port && port <= ushort.MaxValue;
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/GameBlendModes.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum GameBlendModes
4 | {
5 | Add = 0,
6 |
7 | Alpha,
8 |
9 | Multiply,
10 |
11 | None,
12 |
13 | Opaque,
14 |
15 | Cutout,
16 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/INumericInput.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public interface INumericInput
4 | {
5 | double Maximum { get; set; }
6 |
7 | double Minimum { get; set; }
8 |
9 | double Value { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/Utility/SearchableTreeDataEntryEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.Utility;
2 |
3 | public class SearchableTreeDataEntryEventArgs : EventArgs {
4 | public required SearchableTreeDataEntry? Entry { get; init; }
5 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Input/MouseButton.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Input;
2 |
3 | public enum MouseButton
4 | {
5 |
6 | None = -1,
7 |
8 | Left = 0,
9 |
10 | Right,
11 |
12 | Middle,
13 |
14 | X1,
15 |
16 | X2
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/Interfaces/LifecycleChangeStateHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Plugins.Interfaces;
2 |
3 | public delegate void LifecycleChangeStateHandler(
4 | IClientPluginContext context,
5 | LifecycleChangeStateArgs lifecycleChangeStateArgs
6 | );
--------------------------------------------------------------------------------
/Utilities/Intersect.OpenPortChecker/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "AllowedHosts": "*",
3 | "Logging": {
4 | "LogLevel": {
5 | "Default": "Information",
6 | "Microsoft.AspNetCore": "Warning"
7 | }
8 | },
9 | "PortChecker": {
10 | "EnableIPv6": true
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/NpcSpawnDirection.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public enum NpcSpawnDirection
4 | {
5 | Random = 0,
6 |
7 | Up,
8 |
9 | Down,
10 |
11 | Left,
12 |
13 | Right,
14 | }
15 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/Utility/SearchableTreeDataEntriesEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.Utility;
2 |
3 | public class SearchableTreeDataEntriesEventArgs : EventArgs {
4 | public required SearchableTreeDataEntry[] Entries { get; init; }
5 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/LevelUpCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class LevelUpCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.LevelUp;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Serialization/IRestrictedContractResolver.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json.Serialization;
2 |
3 | namespace Intersect.Framework.Core.Serialization;
4 |
5 | public interface IRestrictedContractResolver : IContractResolver
6 | {
7 | bool SupportsType(Type type);
8 | }
--------------------------------------------------------------------------------
/Intersect (Core)/BytePoint.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect;
2 |
3 |
4 | public partial struct BytePoint
5 | {
6 |
7 | public byte X;
8 |
9 | public byte Y;
10 |
11 | public BytePoint(byte x, byte y)
12 | {
13 | X = x;
14 | Y = y;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Interface/Shared/InputType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Shared;
2 |
3 | public enum InputType
4 | {
5 | Okay,
6 |
7 | YesNo,
8 |
9 | YesNoCancel,
10 |
11 | NumericInput,
12 |
13 | NumericSliderInput,
14 |
15 | TextInput,
16 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/IFontProvider.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Graphics;
2 |
3 | namespace Intersect.Client.Framework.Gwen.Control;
4 |
5 | public interface IFontProvider
6 | {
7 | IFont? Font { get; set; }
8 |
9 | int FontSize { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Server/Core/IConsoleService.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Core;
2 |
3 | namespace Intersect.Server.Core.Services
4 | {
5 | internal interface IConsoleService : IThreadableApplicationService
6 | {
7 |
8 | void Wait(bool doNotContinue = false);
9 |
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/AssetManagement/UpdateStatus.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.AssetManagement;
2 |
3 | public enum UpdateStatus
4 | {
5 | None,
6 | Error,
7 | DownloadingManifest,
8 | UpdateInProgress,
9 | UpdateCompleted,
10 | Restart,
11 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/OpenBankCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class OpenBankCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.OpenBank;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/Attributes/MapBlockedAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps.Attributes;
2 |
3 | public partial class MapBlockedAttribute : MapAttribute
4 | {
5 | public override MapAttributeType Type => MapAttributeType.Blocked;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/Attributes/MapNpcAvoidAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps.Attributes;
2 |
3 | public partial class MapNpcAvoidAttribute : MapAttribute
4 | {
5 | public override MapAttributeType Type => MapAttributeType.NpcAvoid;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/MapList/MapListItem.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps.MapList;
2 |
3 | public partial class MapListItem
4 | {
5 | public string Name = string.Empty;
6 |
7 | public int Type = -1; //0 for directory, 1 for map
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect (Core)/GlobalSuppressions.cs:
--------------------------------------------------------------------------------
1 | // This file is used by Code Analysis to maintain SuppressMessage
2 | // attributes that are applied to this project.
3 | // Project-level suppressions either have no target or are given
4 | // a specific target and scoped to a namespace, type, member, etc.
5 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/TabChangeEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public class TabChangeEventArgs : EventArgs
4 | {
5 | public required TabButton? PreviousTab { get; init; }
6 |
7 | public required TabButton? ActiveTab { get; init; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/ItemsTakeResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public readonly struct ItemsTakeResponseBody(Guid itemId, int quantity)
4 | {
5 | public Guid ItemId { get; } = itemId;
6 |
7 | public int Quantity { get; } = quantity;
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/User/RegisterResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.User;
2 |
3 | public struct RegisterResponseBody(string username, string email)
4 | {
5 | public string Username { get; set; } = username;
6 |
7 | public string Email { get; set; } = email;
8 | }
9 |
--------------------------------------------------------------------------------
/assets/.gitignore:
--------------------------------------------------------------------------------
1 | # Make sure we keep the default folders to prevent IDE errors when they do not exist
2 | !/development
3 | !/development/*/
4 | !/development/*/.gitkeep
5 | !/production/
6 | !/production/*/
7 | !/production/*/.gitkeep
8 | !/staging/
9 | !/staging/*/
10 | !/staging/*/.gitkeep
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/FadeoutBgmCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class FadeoutBgmCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.FadeoutBgm;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/HidePlayerCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class HidePlayerCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.HidePlayer;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/HoldPlayerCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class HoldPlayerCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.HoldPlayer;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ShowPlayerCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ShowPlayerCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ShowPlayer;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/StopSoundsCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class StopSoundsCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.StopSounds;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventMovementSpeed.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventMovementSpeed
4 | {
5 | Slowest = 0,
6 |
7 | Slower,
8 |
9 | Normal,
10 |
11 | Faster,
12 |
13 | Fastest,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Eventing/IAggregateSender`1.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Eventing;
2 |
3 | public interface IAggregateSender : IAggregateSender where T : notnull
4 | {
5 | new T CurrentSender { get; }
6 |
7 | object IAggregateSender.CurrentSender => CurrentSender;
8 | }
--------------------------------------------------------------------------------
/Intersect.Network/LiteNetLib/EncryptionResult.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network.LiteNetLib;
2 |
3 | public enum EncryptionResult
4 | {
5 | Success,
6 | NoHeader,
7 | InvalidVersion,
8 | InvalidNonce,
9 | InvalidTag,
10 | EmptyInput,
11 | SizeMismatch,
12 | Error,
13 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Account/Login.cshtml.css:
--------------------------------------------------------------------------------
1 | article {
2 | display: flex;
3 | flex-direction: row;
4 | justify-content: center;
5 | }
6 |
7 | form > section {
8 | display: flex;
9 | flex-direction: column;
10 | max-width: calc(max(37.5rem, 50vw));
11 | min-width: 37.5rem;
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Developer/Assets.cshtml.css:
--------------------------------------------------------------------------------
1 | tab-set {
2 | width: calc(100% - 2em);
3 | }
4 |
5 | tab-content > * {
6 | margin: 1em 0;
7 | }
8 |
9 | tab-content > *:first-child {
10 | margin-top: 0;
11 | }
12 |
13 | tab-content > *:last-child {
14 | margin-bottom: 0;
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Async/ICancellableGenerator`1.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Async;
2 |
3 | public interface ICancellableGenerator : ICancellableGenerator
4 | {
5 | new ICancellableGenerator Start();
6 |
7 | ICancellableGenerator ICancellableGenerator.Start() => Start();
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/HidePictureCommmand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class HidePictureCommmand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.HidePicture;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/EventMovementFrequency.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum EventMovementFrequency
4 | {
5 | Lowest = 0,
6 |
7 | Lower,
8 |
9 | Normal,
10 |
11 | Higher,
12 |
13 | Highest,
14 | }
15 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Spells/SpellTargetType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum SpellTargetType
4 | {
5 | Self = 0,
6 |
7 | Single = 1,
8 |
9 | AoE = 2,
10 |
11 | Projectile = 3,
12 |
13 | OnHit = 4,
14 |
15 | Trap = 5,
16 | }
17 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Models/IFolderable.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Models;
2 |
3 | public interface IFolderable
4 | {
5 | ///
6 | /// Used to group editor items together into folders with the same name
7 | ///
8 | string? Folder { get; set; }
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/DrawStates.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum DrawStates
4 | {
5 | GroundLayers = 0,
6 |
7 | BelowPlayer,
8 |
9 | AbovePlayer,
10 |
11 | FringeLayers,
12 |
13 | BeforeEntity,
14 |
15 | AfterEntity,
16 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/ITextContainer.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control;
2 |
3 | public interface ITextContainer
4 | {
5 | Padding Padding { get; set; }
6 |
7 | string? Text { get; set; }
8 |
9 | Color? TextPaddingDebugColor { get; set; }
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Skin/Texturing/IAtlasDrawable.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.GenericClasses;
2 |
3 | namespace Intersect.Client.Framework.Gwen.Skin.Texturing;
4 |
5 | public interface IAtlasDrawable
6 | {
7 | void Draw(Renderer.Base renderer, Rectangle targetBounds, Color color);
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/DataProviderEventHandler.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Data;
2 |
3 | public delegate void DataProviderEventHandler(TDataProvider sender, TEventArgs args)
4 | where TDataProvider : IDataProvider where TEventArgs : EventArgs;
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_upload/materialiconssharp/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/OpenGuildBankCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class OpenGuildBankCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.OpenGuildBank;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ReleasePlayerCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ReleasePlayerCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ReleasePlayer;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/ItemEventTrigger.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum ItemEventTrigger
4 | {
5 | OnPickup = 0,
6 | OnDrop,
7 | OnUse,
8 | OnEquip,
9 | OnUnequip,
10 | OnHit,
11 | OnDamageReceived
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/Attributes/MapGrappleStoneAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps.Attributes;
2 |
3 | public partial class MapGrappleStoneAttribute : MapAttribute
4 | {
5 | public override MapAttributeType Type => MapAttributeType.GrappleStone;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/FadeCompletePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public class FadeCompletePacket : IntersectPacket
7 | {
8 | public FadeCompletePacket()
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/ITextHelper.cs:
--------------------------------------------------------------------------------
1 | using System.Numerics;
2 | using Intersect.Client.Framework.GenericClasses;
3 |
4 | namespace Intersect.Client.Framework.Graphics;
5 |
6 | public interface ITextHelper
7 | {
8 | Vector2 MeasureText(string? text, IFont? font, int size, float fontScale);
9 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/PlayerData/Players/IPlayerOwned.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Entities;
2 |
3 | namespace Intersect.Server.Database.PlayerData.Players;
4 |
5 |
6 | public interface IPlayerOwned
7 | {
8 |
9 | Player Player { get; }
10 |
11 | Guid PlayerId { get; }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/User/UserInfoRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.User;
2 |
3 | public partial struct UserInfoRequestBody
4 | {
5 | public string Username { get; set; }
6 |
7 | public string Password { get; set; }
8 |
9 | public string Email { get; set; }
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_download/materialiconssharp/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Direction.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Enums;
2 |
3 | public enum Direction
4 | {
5 | None = -1,
6 |
7 | Up,
8 |
9 | Down,
10 |
11 | Left,
12 |
13 | Right,
14 |
15 | UpLeft,
16 |
17 | UpRight,
18 |
19 | DownRight,
20 |
21 | DownLeft,
22 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/IPacketSender.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Core;
2 |
3 | namespace Intersect.Network;
4 |
5 | public interface IPacketSender
6 | {
7 | IApplicationContext ApplicationContext { get; }
8 |
9 | INetwork Network { get; }
10 |
11 | bool Send(IPacket packet);
12 | }
13 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/PingPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class PingPacket : AbstractTimedPacket
7 | {
8 | [Key(3)]
9 | public bool Responding { get; set; }
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Editor/Core/DummyStartupOptions.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Core;
2 |
3 | namespace Intersect.Editor.Core;
4 |
5 | public sealed class DummyStartupOptions : ICommandLineOptions
6 | {
7 | public string WorkingDirectory => Environment.CurrentDirectory;
8 | public IEnumerable PluginDirectories => [];
9 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Entities/Label.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.Server.Entities;
4 |
5 |
6 | public partial struct Label(string label, Color color)
7 | {
8 | [JsonProperty(nameof(Label))]
9 | public string Text = label;
10 |
11 | public Color Color = color;
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/ItemInfoRequestBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public partial struct ItemInfoRequestBody
4 | {
5 | public Guid ItemId { get; set; }
6 |
7 | public int Quantity { get; set; }
8 |
9 | public bool BankOverflow { get; set; }
10 | }
11 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/CombatCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class CombatCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.IsInCombat;
6 | }
7 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/Audio/MonoSoundInstance.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Xna.Framework.Audio;
2 |
3 | namespace Intersect.Client.MonoGame.Audio;
4 |
5 | public partial class MonoSoundInstance(MonoSoundSource source)
6 | : MonoAudioInstance(source, source.Effect?.CreateInstance());
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/IPartyMember.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Entities;
2 |
3 | public interface IPartyMember
4 | {
5 | Guid Id { get; set; }
6 | int Level { get; set; }
7 | long[] MaxVital { get; set; }
8 | string Name { get; set; }
9 | long[] Vital { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/TryProviderValueDelegate.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics.CodeAnalysis;
2 |
3 | namespace Intersect.Client.Interface.Data;
4 |
5 | public delegate bool TryProviderValueDelegate(
6 | TimeSpan elapsed,
7 | TimeSpan total,
8 | [NotNullWhen(true)] out TValue newValue
9 | );
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ExitEventProcessingCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ExitEventProcessingCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ExitEventProcess;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/WaitCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class WaitCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.Wait;
6 |
7 | public int Time { get; set; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Entities/Pathfinding/PathNodeBlockType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Entities.Pathfinding;
2 |
3 | public enum PathNodeBlockType
4 | {
5 | Nonblocking,
6 | InvalidTile,
7 | OutOfRange,
8 | AttributeBlock,
9 | AttributeNpcAvoid,
10 | Npc,
11 | Player,
12 | Entity,
13 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Maps/MapResourceSpawn.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Entities;
2 |
3 | namespace Intersect.Server.Maps;
4 |
5 |
6 | public partial class MapResourceSpawn
7 | {
8 |
9 | public Resource Entity;
10 |
11 | public int EntityIndex = -1;
12 |
13 | public long RespawnTime = -1;
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Chat/ChatMessageLookupKeyResponseBody.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Collections.Indexing;
2 |
3 | namespace Intersect.Server.Web.Types.Chat;
4 |
5 | public record ChatMessageLookupKeyResponseBody(LookupKey LookupKey, bool Success, ChatMessage ChatMessage) : ChatMessageResponseBody(Success, ChatMessage);
6 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/ItemsGiveResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public readonly struct ItemsGiveResponseBody(Guid id, ItemsGiveQuantityData items)
4 | {
5 | public Guid Id { get; init; } = id;
6 |
7 | public ItemsGiveQuantityData Quantity { get; init; } = items;
8 | }
9 |
--------------------------------------------------------------------------------
/Intersect (Core)/Network/IClient.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 |
4 | public interface IClient : INetwork
5 | {
6 | IConnection Connection { get; }
7 |
8 | bool IsConnected { get; }
9 |
10 | bool IsServerOnline { get; }
11 |
12 | int Ping { get; }
13 |
14 | bool Connect();
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Interface/Game/DescriptionWindows/Components/DividerComponent.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Gwen.Control;
2 |
3 | namespace Intersect.Client.Interface.Game.DescriptionWindows.Components;
4 |
5 | public partial class DividerComponent(Base parent, string name) : ComponentBase(parent, name)
6 | {
7 | }
8 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/Graphics/SpriteFontRenderer.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Graphics;
2 | using Microsoft.Xna.Framework.Graphics;
3 |
4 | namespace Intersect.Client.MonoGame.Graphics;
5 |
6 | public sealed class SpriteFontRenderer(SpriteFont platformObject) : FontSizeRenderer(platformObject)
7 | {
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/AssetManagement/DownloadResult.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.AssetManagement;
2 |
3 | internal sealed class DownloadResult
4 | {
5 | public long Count { get; set; }
6 |
7 | public string? OverrideBaseUrl { get; init; }
8 |
9 | public DownloadState State { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/LabelCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class LabelCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.Label;
6 |
7 | public string Label { get; set; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Core/Entities/Events/Dialog.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Entities.Events;
2 |
3 | public partial class Dialog
4 | {
5 | public Guid EventId;
6 |
7 | public string? Face;
8 |
9 | public string[] Options = [];
10 |
11 | public string? Prompt;
12 |
13 | public bool ResponseSent;
14 | }
15 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Controllers/AssetManagement/CachedManifest.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Framework.Core.AssetManagement;
2 |
3 | namespace Intersect.Server.Web.Controllers.AssetManagement;
4 |
5 | internal sealed record CachedManifest(UpdateManifest Manifest, DateTime Expiry)
6 | {
7 | public bool IsExpired => DateTime.UtcNow >= Expiry;
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/OpenShopCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class OpenShopCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.OpenShop;
6 |
7 | public Guid ShopId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/SetClassCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class SetClassCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.SetClass;
6 |
7 | public Guid ClassId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Core/SinglePlayerNetworkPoolDataProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Core;
2 |
3 | internal sealed class SinglePlayerNetworkPoolDataProvider : INetworkPoolDataProvider
4 | {
5 | public long ActiveThreads => default;
6 | public long CurrentWorkItemsCount => default;
7 | public long InUseThreads => default;
8 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Maps/MapItemSpawn.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Maps;
2 |
3 |
4 | public partial class MapItemSpawn
5 | {
6 | public Guid Id { get; } = Guid.NewGuid();
7 |
8 | public int AttributeSpawnX = -1;
9 |
10 | public int AttributeSpawnY = -1;
11 |
12 | public long RespawnTime = -1;
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Logs/IpAddressResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Logs;
2 |
3 | public partial class IpAddressResponseBody
4 | {
5 | public string Ip { get; set; }
6 |
7 | public DateTime LastUsed { get; set; }
8 |
9 | public Dictionary OtherUsers { get; set; } = [];
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/action/delete/materialiconsoutlined/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/GoToLabelCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class GoToLabelCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.GoToLabel;
6 |
7 | public string Label { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ResetStatPointAllocationsCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ResetStatPointAllocationsCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ResetStatPointAllocations;
6 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/RestoreHpCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class RestoreHpCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.RestoreHp;
6 |
7 | public int Amount { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/RestoreMpCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class RestoreMpCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.RestoreMp;
6 |
7 | public int Amount { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/SetAccessCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class SetAccessCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.SetAccess;
6 |
7 | public Access Access { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Events/ConnectionEventArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network.Events;
2 |
3 | public partial class ConnectionEventArgs : EventArgs
4 | {
5 | public Guid EventId { get; set; }
6 |
7 | public NetworkStatus NetworkStatus { get; set; }
8 |
9 | public IConnection Connection { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/IFont.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public interface IFont
4 | {
5 | string Name { get; }
6 |
7 | ICollection SupportedSizes { get; }
8 |
9 | int PickBestMatchFor(int size);
10 |
11 | int GetNextFontSize(int startSize, int direction, int limit = 0);
12 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Http/ContentTypes.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Http;
2 |
3 | public static class ContentTypes
4 | {
5 | public const string Html = "text/html";
6 | public const string Json = "application/json";
7 | public const string OctetStream = "application/octet-stream";
8 | public const string Png = "image/png";
9 | }
--------------------------------------------------------------------------------
/Intersect.Server/appsettings.Staging.json:
--------------------------------------------------------------------------------
1 | {
2 | "DetailedErrors": true,
3 | "Logging": {
4 | "Common": {
5 | "MinimumLevel": {
6 | "Default": "Information",
7 | "Override": {
8 | "Intersect": "Debug",
9 | "Microsoft": "Information",
10 | "System": "Information"
11 | }
12 | }
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/MapIsCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class MapIsCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.MapIs;
6 |
7 | public Guid MapId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ChangeLevelCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ChangeLevelCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ChangeLevel;
6 |
7 | public int Level { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Items/ItemType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Items;
2 |
3 | public enum ItemType
4 | {
5 | None = 0,
6 |
7 | Equipment = 1,
8 |
9 | Consumable = 2,
10 |
11 | Currency = 3,
12 |
13 | Spell = 4,
14 |
15 | Event = 5,
16 |
17 | Bag = 6,
18 | }
19 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/IDataProvider.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Gwen.Control.EventArguments;
2 |
3 | namespace Intersect.Client.Interface.Data;
4 |
5 | public interface IDataProvider
6 | {
7 | event DataProviderEventHandler>? ValueChanged;
8 |
9 | object? Value { get; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Network/NetworkMetaStatus.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 |
4 | public enum NetworkMetaStatus
5 | {
6 |
7 | Unknown = 0,
8 |
9 | ConnectionEstablished = 1,
10 |
11 | HandshakeRequested = 2,
12 |
13 | HandshakeReceived = 4,
14 |
15 | HandshakeCompleted = 8,
16 |
17 | Connected = 16
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/NuGet.Config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/PlayBgmCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class PlayBgmCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.PlayBgm;
6 |
7 | public string File { get; set; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/Intersect (Core)/SharedConstants.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 |
3 | namespace Intersect;
4 |
5 |
6 | public static partial class SharedConstants
7 | {
8 |
9 | public static readonly string VersionName = "Beta Eridani (201802251101-05)";
10 |
11 | public static readonly byte[] VersionData = Encoding.UTF8.GetBytes(VersionName);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Core/ServerContextFactory.cs:
--------------------------------------------------------------------------------
1 |
2 | using Intersect.Plugins.Interfaces;
3 | using Microsoft.Extensions.Logging;
4 |
5 | namespace Intersect.Server.Core;
6 |
7 | internal delegate IServerContext ServerContextFactory(
8 | ServerCommandLineOptions startupOptions,
9 | ILogger logger,
10 | IPacketHelper packetHelper
11 | );
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/IDataMigration.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | internal partial interface IDataMigration
4 | where TContext : IntersectDbContext
5 | {
6 | void Down(DatabaseContextOptions databaseContextOptions);
7 |
8 | void Up(DatabaseContextOptions databaseContextOptions);
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Server/Database/DataMigrations/MySql/MySqlUserVariablePopulateNewColumnId.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.DataMigrations.MySql;
2 |
3 | [SchemaMigration(typeof(Migrations.MySql.Player.UserVariables_AddStandaloneIdPK), ApplyIfLast = true)]
4 | public sealed class MySqlUserVariablePopulateNewColumnId : UserVariablePopulateNewColumnId
5 | {
6 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Developer/ServerSettings/Index.cshtml.css:
--------------------------------------------------------------------------------
1 | ::deep form {
2 | width: 100%;
3 | }
4 |
5 | ::deep form tab-content.selected,
6 | ::deep span.field > fieldset {
7 | display: grid;
8 | grid-gap: 0.5em;
9 | grid-template-columns: minmax(min-content, 20em) minmax(min-content, 20em);
10 | grid-auto-rows: min-content;
11 | }
12 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/ClassIsCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class ClassIsCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.ClassIs;
6 |
7 | public Guid ClassId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/PlaySoundCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class PlaySoundCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.PlaySound;
6 |
7 | public string File { get; set; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/VariableComparator.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public enum VariableComparator
4 | {
5 | Equal = 0,
6 |
7 | GreaterOrEqual,
8 |
9 | LesserOrEqual,
10 |
11 | Greater,
12 |
13 | Less,
14 |
15 | NotEqual,
16 |
17 | Between,
18 | }
19 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Configuration/PartialKestrelEndpointCertificateType.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using Newtonsoft.Json.Converters;
3 |
4 | namespace Intersect.Server.Web.Configuration;
5 |
6 | [JsonConverter(typeof(StringEnumConverter))]
7 | public enum PartialKestrelEndpointCertificateType
8 | {
9 | None,
10 | ECDSA,
11 | RSA,
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ChangeFaceCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ChangeFaceCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ChangeFace;
6 |
7 | public string Face { get; set; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/WaitForRouteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class WaitForRouteCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.WaitForRouteCompletion;
6 |
7 | public Guid TargetId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/ResourceSpawn.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public partial class ResourceSpawn
4 | {
5 | public Guid Id { get; set; } = Guid.NewGuid();
6 |
7 | public Guid ResourceId;
8 |
9 | public byte X;
10 |
11 | public byte Y;
12 |
13 | public byte Z;
14 | }
15 |
--------------------------------------------------------------------------------
/Intersect (Core)/Extensions/KeyValuePairExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Extensions;
2 |
3 | public static partial class KeyValuePairExtensions
4 | {
5 | public static void Deconstruct(this KeyValuePair pair, out TKey key, out TValue val)
6 | {
7 | key = pair.Key;
8 | val = pair.Value;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Orientation.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen;
2 |
3 | public enum Orientation
4 | {
5 | LeftToRight,
6 | RightToLeft,
7 | TopToBottom,
8 | BottomToTop,
9 |
10 | Horizontal = LeftToRight,
11 | Vertical = TopToBottom,
12 |
13 | Landscape = Horizontal,
14 | Portrait = Vertical,
15 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/CheckEquippedSlot.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class CheckEquippedSlot : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.CheckEquipment;
6 |
7 | public string Name { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/KnowsSpellCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class KnowsSpellCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.KnowsSpell;
6 |
7 | public Guid SpellId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ChangeSpriteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ChangeSpriteCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ChangeSprite;
6 |
7 | public string Sprite { get; set; } = string.Empty;
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/SetMoveRouteCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class SetMoveRouteCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.SetMoveRoute;
6 |
7 | public EventMoveRoute Route { get; set; } = new();
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Items/ItemEffect.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Items;
2 |
3 | public enum ItemEffect : byte
4 | {
5 | None = 0,
6 |
7 | CooldownReduction = 1,
8 |
9 | Lifesteal = 2,
10 |
11 | Tenacity = 3,
12 |
13 | Luck = 4,
14 |
15 | EXP = 5,
16 |
17 | Manasteal = 6,
18 | }
19 |
--------------------------------------------------------------------------------
/Intersect (Core)/Network/NetworkFactory.cs:
--------------------------------------------------------------------------------
1 | using System.Security.Cryptography;
2 | using Intersect.Core;
3 |
4 | namespace Intersect.Network;
5 |
6 | public delegate INetwork NetworkFactory(
7 | IApplicationContext applicationContext,
8 | RSAParameters rsaParameters,
9 | HandlePacket handlePacket,
10 | ShouldProcessPacket? shouldProcessPacket
11 | );
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/ContextProvider.Locking.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | public sealed partial class ContextProvider
4 | {
5 | private partial class LockProvider where TContext : IntersectDbContext, UContext
6 | {
7 | public static readonly object Lock = new object();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/DataMigrations/Sqlite/SqliteUserVariablePopulateNewColumnId.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database.DataMigrations.Sqlite;
2 |
3 | [SchemaMigration(typeof(Migrations.Sqlite.Player.UserVariables_AddStandaloneIdPK), ApplyIfLast = true)]
4 | public sealed class SqliteUserVariablePopulateNewColumnId : UserVariablePopulateNewColumnId
5 | {
6 |
7 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/ItemsGiveQuantityData.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Player;
2 |
3 | public readonly struct ItemsGiveQuantityData(int total, int bank, int inventory)
4 | {
5 | public int Total { get; init; } = total;
6 |
7 | public int Bank { get; init; } = bank;
8 |
9 | public int Inventory { get; init; } = inventory;
10 | }
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/config.yml:
--------------------------------------------------------------------------------
1 | blank_issues_enabled: false
2 | contact_links:
3 | - name: Ascension Game Dev
4 | url: https://ascensiongamedev.com
5 | about: Please ask and answer questions on our public forum.
6 | - name: Community Discord
7 | url: https://discord.gg/Ggt3KJV
8 | about: Feel free to chat or also find support in our Discord community.
9 |
--------------------------------------------------------------------------------
/.idea/.idea.Intersect/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Rider ignored files
5 | /contentModel.xml
6 | /projectSettingsUpdater.xml
7 | /.idea.Intersect.iml
8 | /modules.xml
9 | # Datasource local storage ignored files
10 | /dataSources/
11 | /dataSources.local.xml
12 | # Editor-based HTTP Client requests
13 | /httpRequests/
14 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Unconnected/Server/ServerStatusResponsePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Unconnected.Server;
4 |
5 | [MessagePackObject]
6 | public partial class ServerStatusResponsePacket : UnconnectedResponsePacket
7 | {
8 | [Key(1)]
9 | public NetworkStatus Status { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Core/Entities/FriendInstance.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Entities;
2 |
3 | namespace Intersect.Client.Entities;
4 |
5 | public partial class FriendInstance : IFriendInstance
6 | {
7 | public string? Map { get; set; }
8 |
9 | public string Name { get; set; } = null!;
10 |
11 | public bool Online { get; set; } = false;
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Core/Services/ILogicService.cs:
--------------------------------------------------------------------------------
1 | using Amib.Threading;
2 | using Intersect.Core;
3 |
4 | namespace Intersect.Server.Core.Services;
5 |
6 | internal interface ILogicService : IThreadableApplicationService
7 | {
8 | long CyclesPerSecond { get; }
9 |
10 | object LogicLock { get; }
11 |
12 | SmartThreadPool LogicPool { get; }
13 | }
14 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/CanStartQuestCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class CanStartQuestCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.CanStartQuest;
6 |
7 | public Guid QuestId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/IsItemEquippedCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class IsItemEquippedCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.IsItemEquipped;
6 |
7 | public Guid ItemId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/QuestCompletedCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class QuestCompletedCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.QuestCompleted;
6 |
7 | public Guid QuestId { get; set; }
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/StringVariableMod.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events;
2 |
3 | public partial class StringVariableMod : VariableMod
4 | {
5 | public VariableModType ModType { get; set; } = VariableModType.Set;
6 |
7 | public string Value { get; set; }
8 |
9 | public string Replace { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Web/TokenResultType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Web;
2 |
3 | public enum TokenResultType
4 | {
5 | Unknown,
6 | TokenReceived,
7 | RequestError,
8 | InvalidUsername,
9 | InvalidPassword,
10 | ClientSideFailure,
11 | InvalidRefreshToken,
12 | InvalidCredentials,
13 | InvalidResponse,
14 | Failed,
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect (Core)/Utilities/Nullability.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Utilities;
2 |
3 |
4 | public static partial class Nullability
5 | {
6 |
7 | public static T IsNotNull(this T value)
8 | {
9 | if (value == null)
10 | {
11 | throw new InvalidOperationException();
12 | }
13 |
14 | return value;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/EventArguments/InputSubmissionEventArgs.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Gwen.Control.EventArguments.InputSubmissionEvent;
2 |
3 | namespace Intersect.Client.Framework.Gwen.Control.EventArguments;
4 |
5 | public class InputSubmissionEventArgs(SubmissionValue value) : EventArgs
6 | {
7 | public SubmissionValue Value { get; } = value;
8 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/DelayProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Interface.Data;
2 |
3 | public sealed class DelayProvider(TimeSpan delay) : DelayedDataProvider(delay)
4 | {
5 | protected override bool TryDelayedUpdate(TimeSpan elapsed, TimeSpan total)
6 | {
7 | EmitValueChanged(true, true);
8 | return true;
9 | }
10 | }
--------------------------------------------------------------------------------
/Intersect.Editor/GlobalSuppressions.cs:
--------------------------------------------------------------------------------
1 | [assembly:
2 | System.Diagnostics.CodeAnalysis.SuppressMessage(
3 | "Style", "IDE1005:Delegate invocation can be simplified.",
4 | Justification = "if-null is more readable for newer programmers.", Scope = "member",
5 | Target = "~M:Intersect_Editor.Classes.PacketHandler.HandleGameObject(System.Byte[])"
6 | )]
7 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/TimeBetweenCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class TimeBetweenCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.TimeBetween;
6 |
7 | public int[] Ranges { get; set; } = new int[2];
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/NetworkStatus.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public enum NetworkStatus
4 | {
5 |
6 | Unknown = 0,
7 |
8 | Connecting,
9 |
10 | Online,
11 |
12 | Offline,
13 |
14 | Failed,
15 |
16 | VersionMismatch,
17 |
18 | ServerFull,
19 |
20 | HandshakeFailure,
21 |
22 | Quitting,
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/Control/Utility/SearchableTreeDataEntry.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Gwen.Control.Utility;
2 |
3 | public record struct SearchableTreeDataEntry(
4 | string Id,
5 | string DisplayText,
6 | Color? DisplayColor = null,
7 | string? Name = default,
8 | string? ParentId = default,
9 | object? UserData = default
10 | );
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Collections/SanitizedValue.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Collections;
2 |
3 |
4 | public partial struct SanitizedValue
5 | {
6 |
7 | public T Before { get; }
8 |
9 | public T After { get; }
10 |
11 | public SanitizedValue(T before, T after)
12 | {
13 | Before = before;
14 | After = after;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Items/ConsumableData.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.Items;
4 |
5 | [Owned]
6 | public partial class ConsumableData
7 | {
8 | public ConsumableType Type { get; set; }
9 |
10 | public long Value { get; set; }
11 |
12 | public int Percentage { get; set; }
13 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/Tile.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.Maps;
4 |
5 | public partial struct Tile
6 | {
7 | public Guid TilesetId;
8 |
9 | public int X;
10 |
11 | public int Y;
12 |
13 | public byte Autotile;
14 |
15 | [JsonIgnore]
16 | public object TilesetTexture;
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Client/Program.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using Intersect.Framework.Reflection;
3 |
4 | var executingAssembly = Assembly.GetExecutingAssembly();
5 | Console.WriteLine(
6 | $"Starting {executingAssembly.GetMetadataName()} in {Environment.CurrentDirectory}...\n\t{string.Join(' ', args)}"
7 | );
8 |
9 | Intersect.Client.Core.Program.Main(Assembly.GetExecutingAssembly(), args);
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/notification/account_tree/materialiconssharp/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Annotations/EditorTimeAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.GameObjects.Annotations;
2 |
3 | [AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
4 | public class EditorTimeAttribute : EditorFormattedAttribute
5 | {
6 | public EditorTimeAttribute() : base("FormatTimeMilliseconds")
7 | {
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/PlayerClass/ClassSprite.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.PlayerClass;
4 |
5 | public partial class ClassSprite
6 | {
7 | public string Face { get; set; } = string.Empty;
8 |
9 | public Gender Gender { get; set; }
10 |
11 | public string Sprite { get; set; } = string.Empty;
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Annotations/PasswordAttribute.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | namespace Intersect.Framework.Annotations;
4 |
5 | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
6 | public sealed class PasswordAttribute : CachedExistenceAttribute
7 | {
8 | public static bool IsPassword(MemberInfo memberInfo) => ExistsOn(memberInfo);
9 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/Interfaces/LifecycleChangeStateArgs.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.General;
2 |
3 | namespace Intersect.Client.Plugins.Interfaces;
4 |
5 | public partial class LifecycleChangeStateArgs : EventArgs
6 | {
7 | public GameStates State { get; }
8 |
9 | public LifecycleChangeStateArgs(GameStates state)
10 | {
11 | State = state;
12 | }
13 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Plugins/Interfaces/TimedArgs.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Plugins.Interfaces;
2 |
3 | public partial class TimedArgs : EventArgs
4 | {
5 | ///
6 | /// Time since the last update.
7 | ///
8 | public TimeSpan Delta { get; }
9 |
10 | public TimedArgs(TimeSpan delta)
11 | {
12 | Delta = delta;
13 | }
14 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Items/IItem.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Framework.Core.GameObjects.Items;
2 | using Intersect.GameObjects;
3 |
4 | namespace Intersect.Server.Framework.Items;
5 |
6 | public interface IItem
7 | {
8 | Guid ItemId { get; }
9 | ItemDescriptor Descriptor { get; }
10 | int Quantity { get; }
11 | string ItemName { get; }
12 | double DropChance { get; }
13 | }
--------------------------------------------------------------------------------
/Utilities/Intersect.OpenPortChecker/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Kestrel": {
3 | "Endpoints": {
4 | "Http": {
5 | "Url": "http://localhost:5380"
6 | }
7 | }
8 | },
9 | "Logging": {
10 | "LogLevel": {
11 | "Default": "Debug",
12 | "Microsoft.AspNetCore": "Warning"
13 | }
14 | },
15 | "PortChecker": {
16 | "KnownProxies": ["localhost"]
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/DespawnNpcCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class DespawnNpcCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.DespawnNpc;
6 |
7 | //No parameters, only despawns npcs that have been spawned via events for the player
8 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Spells/SpellWarpDescriptor.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 |
3 | namespace Intersect.GameObjects;
4 |
5 | [Owned]
6 | public partial class SpellWarpDescriptor
7 | {
8 | public Guid MapId { get; set; }
9 |
10 | public int X { get; set; }
11 |
12 | public int Y { get; set; }
13 |
14 | public int Dir { get; set; }
15 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/drive_file_rename_outline/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Examples/.idea/.idea.Intersect.Examples/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Rider ignored files
5 | /contentModel.xml
6 | /projectSettingsUpdater.xml
7 | /.idea.Intersect.Examples.iml
8 | /modules.xml
9 | # Datasource local storage ignored files
10 | /dataSources/
11 | /dataSources.local.xml
12 | # Editor-based HTTP Client requests
13 | /httpRequests/
14 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Interface/Menu/CharacterSelectionPreviewMetadata.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Network.Packets.Server;
2 |
3 | namespace Intersect.Client.Interface.Menu;
4 |
5 | public record struct CharacterSelectionPreviewMetadata(
6 | Guid Id,
7 | string Name,
8 | string Sprite,
9 | string Face,
10 | int Level,
11 | string Class,
12 | EquipmentFragment[] Equipment
13 | );
--------------------------------------------------------------------------------
/Intersect.Server.Core/Entities/Pathfinding/PathfinderResultType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Entities.Pathfinding;
2 |
3 | public enum PathfinderResultType
4 | {
5 |
6 | Success,
7 |
8 | OutOfRange,
9 |
10 | NoPathToTarget,
11 |
12 | Failure, //No Map, No Target, Who Knows?
13 |
14 | Wait, //Pathfinder won't run due to recent failures and trying to conserve cpu
15 |
16 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Index.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @using Intersect.Server.Web.Pages.Shared.Players
3 | @model IndexModel
4 | @{
5 | ViewData["Title"] = "Home page";
6 | }
7 |
8 | @await Html.PartialAsync(
9 | "~/Web/Pages/Shared/Players/_PlayerList.cshtml",
10 | new PlayerListModel
11 | {
12 | Caption = WebResources.Leaderboard,
13 | ShowRank = true,
14 | }
15 | )
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ChangeGenderCommand.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
4 |
5 | public partial class ChangeGenderCommand : EventCommand
6 | {
7 | public override EventCommandType Type { get; } = EventCommandType.ChangeGender;
8 |
9 | public Gender Gender { get; set; } = Gender.Male;
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/EndQuestCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class EndQuestCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.EndQuest;
6 |
7 | public Guid QuestId { get; set; }
8 |
9 | public bool SkipCompletionEvent { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Input/IControlsProvider.cs:
--------------------------------------------------------------------------------
1 | using System.Diagnostics.CodeAnalysis;
2 |
3 | namespace Intersect.Client.Framework.Input;
4 |
5 | public interface IControlsProvider
6 | {
7 | Control[] Controls { get; }
8 |
9 | bool TryGetDefaultMapping(Control control, [NotNullWhen(true)] out ControlMapping? defaultMapping);
10 |
11 | void ReloadFromOptions(Options? options);
12 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Index copy.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @using Intersect.Server.Web.Pages.Shared.Players
3 | @model IndexModel
4 | @{
5 | ViewData["Title"] = "Home page";
6 | }
7 |
8 | @await Html.PartialAsync(
9 | "~/Web/Pages/Shared/Players/_PlayerList.cshtml",
10 | new PlayerListModel
11 | {
12 | Caption = WebResources.Leaderboard,
13 | ShowRank = true,
14 | }
15 | )
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/navigation/refresh/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/navigation/refresh/materialiconssharp/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildProjectDirectory)\..\..
5 |
6 |
7 |
8 |
9 |
10 | $(MSBuildProjectDirectory)\..\..
11 |
12 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Attributes/RelatedTableAttribute.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 |
3 | namespace Intersect.Attributes;
4 |
5 | [AttributeUsage(AttributeTargets.Field)]
6 | public sealed class RelatedTableAttribute : Attribute
7 | {
8 | public GameObjectType TableType { get; }
9 |
10 | public RelatedTableAttribute(GameObjectType gameObjectType) { TableType = gameObjectType; }
11 | }
12 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/GenderIsCondition.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
4 |
5 | public partial class GenderIsCondition : Condition
6 | {
7 | public override ConditionType Type { get; } = ConditionType.GenderIs;
8 |
9 | public Gender Gender { get; set; } = Gender.Male;
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Quests/QuestProgress.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.GameObjects;
4 |
5 | public partial class QuestProgress
6 | {
7 | public bool Completed;
8 |
9 | public Guid TaskId;
10 |
11 | public int TaskProgress;
12 |
13 | public QuestProgress(string data)
14 | {
15 | JsonConvert.PopulateObject(data, this);
16 | }
17 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/GuildLeavePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class GuildLeavePacket : IntersectPacket
7 | {
8 | ///
9 | /// Parameterless Constructor for MessagePack
10 | ///
11 | public GuildLeavePacket()
12 | {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect (Core)/Core/IThreadableApplicationService.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Core;
2 |
3 | ///
4 | /// Declares the API surface for application services that have their own thread.
5 | ///
6 | public interface IThreadableApplicationService : IApplicationService
7 | {
8 | ///
9 | /// The thread for this service.
10 | ///
11 | Thread Thread { get; }
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Gwen/DragDrop/Package.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Gwen.Control;
2 |
3 | namespace Intersect.Client.Framework.Gwen.DragDrop;
4 |
5 |
6 | public partial class Package
7 | {
8 |
9 | public Base DrawControl;
10 |
11 | public Point HoldOffset;
12 |
13 | public bool IsDraggable;
14 |
15 | public string Name;
16 |
17 | public object UserData;
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Shared/Players/_PlayerCard.cshtml.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Entities;
2 | using Microsoft.AspNetCore.Mvc.RazorPages;
3 |
4 | namespace Intersect.Server.Web.Pages.Shared.Players;
5 |
6 | public partial class PlayerCardModel : PageModel
7 | {
8 | public Player? Player { get; set; }
9 |
10 | public long? Rank { get; set; }
11 |
12 | public long? RankScale { get; set; }
13 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/action/receipt/materialicons/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/navigation/refresh/materialiconstwotone/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/notification/account_tree/materialiconsoutlined/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Utilities/Directory.Build.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | $(MSBuildProjectDirectory)\..\..
5 |
6 |
7 |
8 |
9 |
10 | $(MSBuildProjectDirectory)\..\..
11 |
12 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/CompleteQuestTaskCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class CompleteQuestTaskCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.CompleteQuestTask;
6 |
7 | public Guid QuestId { get; set; }
8 |
9 | public Guid TaskId { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/SetSelfSwitchCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class SetSelfSwitchCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.SetSelfSwitch;
6 |
7 | public int SwitchId { get; set; } //0 through 3
8 |
9 | public bool Value { get; set; }
10 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Content/TextureType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Content;
2 |
3 | public enum TextureType
4 | {
5 |
6 | Tileset = 0,
7 |
8 | Item,
9 |
10 | Entity,
11 |
12 | Spell,
13 |
14 | Animation,
15 |
16 | Face,
17 |
18 | Image,
19 |
20 | Fog,
21 |
22 | Resource,
23 |
24 | Paperdoll,
25 |
26 | Gui,
27 |
28 | Misc,
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Controllers/AssetManagement/AssetFileSystemInfoType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Controllers.AssetManagement;
2 |
3 | [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
4 | [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))]
5 | public enum AssetFileSystemInfoType
6 | {
7 | File,
8 | Directory,
9 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Extensions/BaseContextExtensions.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Authentication;
2 |
3 | namespace Intersect.Server.Web.Extensions;
4 |
5 | public static class BaseContextExtensions
6 | {
7 | public static ILogger GetAPILogger(this BaseContext context) where TOptions : AuthenticationSchemeOptions
8 | {
9 | return context.HttpContext.GetAPILogger();
10 | }
11 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/create_new_folder/materialiconsoutlined/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/NoNpcsOnMapCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class NoNpcsOnMapCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.NoNpcsOnMap;
6 |
7 | public bool SpecificNpc { get; set; }
8 |
9 | public Guid NpcId { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ShowTextCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ShowTextCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ShowText;
6 |
7 | public string Text { get; set; } = string.Empty;
8 |
9 | public string Face { get; set; } = string.Empty;
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/RequestGuildPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class RequestGuildPacket : IntersectPacket
7 | {
8 | ///
9 | /// Parameterless Constructor for MessagePack
10 | ///
11 | public RequestGuildPacket()
12 | {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Entities/Entity.Constants.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Entities;
2 |
3 | public partial class Entity
4 | {
5 | protected readonly int MapWidth = Options.Instance.Map.MapWidth;
6 | protected readonly int MapHeight = Options.Instance.Map.MapHeight;
7 | protected readonly int TileWidth = Options.Instance.Map.TileWidth;
8 | protected readonly int TileHeight = Options.Instance.Map.TileHeight;
9 | }
--------------------------------------------------------------------------------
/Intersect.Client.Core/MonoGame/NativeInterop/OpenGL/GL.NVX_gpu_memory_info.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.MonoGame.NativeInterop.OpenGL;
2 |
3 | public static partial class GL
4 | {
5 | public static bool IsNVX_gpu_memory_infoSupported => IsExtensionSupported("GL_NVX_gpu_memory_info");
6 |
7 | private static long glGetNVXGPUMemoryInfo(GLenum name)
8 | {
9 | return glGetIntegerv(name);
10 | }
11 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Maps/IActionMessage.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Maps;
2 |
3 | public interface IActionMessage
4 | {
5 | Color Color { get; init; }
6 | IMapInstance Map { get; init; }
7 | string Text { get; init; }
8 | long TransmissionTimer { get; init; }
9 | int X { get; init; }
10 | int XOffset { get; init; }
11 | int Y { get; init; }
12 |
13 | void TryRemove();
14 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Pages/Account/Logout.cshtml:
--------------------------------------------------------------------------------
1 | @page
2 | @using Microsoft.AspNetCore.Mvc.TagHelpers
3 | @model LogoutModel
4 | @{
5 | ViewData["Title"] = WebResources.Logout;
6 | }
7 |
8 |
9 |
12 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/action/receipt/materialiconssharp/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/IPacket.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Collections;
2 |
3 | namespace Intersect.Network;
4 |
5 |
6 | public interface IPacket : IDisposable
7 | {
8 |
9 | byte[] Data { get; }
10 |
11 | bool IsValid { get; }
12 |
13 | long ReceiveTime { get; set; }
14 |
15 | long ProcessTime { get; set; }
16 |
17 | Dictionary> Sanitize();
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Interface/Data/IDataProvider`1.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Framework.Gwen.Control.EventArguments;
2 |
3 | namespace Intersect.Client.Interface.Data;
4 |
5 | public interface IDataProvider : IDataProvider
6 | {
7 | new event DataProviderEventHandler>? ValueChanged;
8 |
9 | object? IDataProvider.Value => Value;
10 |
11 | new TValue Value { get; }
12 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Plugins/Helpers/IServerLifecycleHelper.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Plugins.Interfaces;
2 |
3 | namespace Intersect.Server.Plugins.Helpers
4 | {
5 | ///
6 | /// Defines the API for accessing server lifecycle information and events.
7 | ///
8 | ///
9 | public interface IServerLifecycleHelper : ILifecycleHelper
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | **/.dockerignore
2 | **/.env
3 | **/.git
4 | **/.gitignore
5 | **/.project
6 | **/.settings
7 | **/.toolstarget
8 | **/.vs
9 | **/.vscode
10 | **/.idea
11 | **/*.*proj.user
12 | **/*.dbmdl
13 | **/*.jfm
14 | **/azds.yaml
15 | **/bin
16 | **/charts
17 | **/docker-compose*
18 | **/Dockerfile*
19 | **/node_modules
20 | **/npm-debug.log
21 | **/obj
22 | **/secrets.dev.yaml
23 | **/values.dev.yaml
24 | LICENSE
25 | README.md
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/SelfSwitchCondition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
2 |
3 | public partial class SelfSwitchCondition : Condition
4 | {
5 | public override ConditionType Type { get; } = ConditionType.SelfSwitch;
6 |
7 | public int SwitchIndex { get; set; } //0 through 3
8 |
9 | public bool Value { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/SetGuildBankSlotsCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class SetGuildBankSlotsCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.SetGuildBankSlots;
6 |
7 | public VariableType VariableType { get; set; }
8 |
9 | public Guid VariableId { get; set; }
10 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/GenericPacketTypeArgumentsAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | [AttributeUsage(AttributeTargets.Class)]
4 | public sealed class GenericPacketTypeArgumentsAttribute : Attribute
5 | {
6 | public GenericPacketTypeArgumentsAttribute(params Type[] typeArguments)
7 | {
8 | TypeArguments = typeArguments;
9 | }
10 |
11 | public Type[] TypeArguments { get; }
12 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Entities/Label.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.Client.Framework.Entities;
4 |
5 |
6 | public partial class Label
7 | {
8 |
9 | [JsonProperty("Label")] public string Text { get; set; }
10 |
11 | public Color Color { get; set; }
12 |
13 | public Label(string label, Color color)
14 | {
15 | Text = label;
16 | Color = color;
17 | }
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/Intersect.Network/LiteNetLib/LiteNetLibLogger.cs:
--------------------------------------------------------------------------------
1 |
2 | using Intersect.Core;
3 | using LiteNetLib;
4 | using Microsoft.Extensions.Logging;
5 |
6 | namespace Intersect.Network.LiteNetLib;
7 |
8 | public sealed class LiteNetLibLogger : INetLogger
9 | {
10 | public void WriteNet(NetLogLevel level, string format, params object[] args) =>
11 | ApplicationContext.Context.Value?.Logger.Log(level.ToLogLevel(), format, args);
12 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Configuration/PartialKestrelEndpointCertificate.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 | using Newtonsoft.Json.Converters;
3 |
4 | namespace Intersect.Server.Web.Configuration;
5 |
6 | public record PartialKestrelEndpointCertificate(
7 | string? Path,
8 | string? KeyPath,
9 | [property: JsonConverter(typeof(StringEnumConverter))]
10 | PartialKestrelEndpointCertificateType SelfSignedCertificateType
11 | );
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/GuildInviteAcceptPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class GuildInviteAcceptPacket : IntersectPacket
7 | {
8 | ///
9 | /// Parameterless Constructor for MessagePack
10 | ///
11 | public GuildInviteAcceptPacket()
12 | {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/GuildInviteDeclinePacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class GuildInviteDeclinePacket : IntersectPacket
7 | {
8 | ///
9 | /// Parameterless Constructor for MessagePack
10 | ///
11 | public GuildInviteDeclinePacket()
12 | {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Items/MapItemSource.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Framework.Maps;
2 |
3 | namespace Intersect.Server.Framework.Items;
4 |
5 | public partial class MapItemSource : IItemSource
6 | {
7 | public Guid Id { get; init; }
8 | public ItemSourceType SourceType => ItemSourceType.Map;
9 | public WeakReference MapInstanceReference { get; init; }
10 | public Guid DescriptorId { get; init; }
11 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Plugins/PluginConfiguration.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.Plugins;
4 |
5 | ///
6 | /// The basic plugin configuration class.
7 | ///
8 | public partial class PluginConfiguration
9 | {
10 | ///
11 | /// If this plugin is enabled or not.
12 | ///
13 | [JsonProperty]
14 | public bool IsEnabled { get; internal set; }
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Spells/Spell.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Spells;
2 |
3 |
4 | public partial class Spell
5 | {
6 |
7 | public Guid Id { get; set; }
8 |
9 | public Spell Clone()
10 | {
11 | var newSpell = new Spell() {
12 | Id = Id
13 | };
14 |
15 | return newSpell;
16 | }
17 |
18 | public void Load(Guid spellId)
19 | {
20 | Id = spellId;
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Middleware/ApplicationContextMiddleware.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Core;
2 |
3 | namespace Intersect.Server.Web.Middleware;
4 |
5 | public sealed class ApplicationContextMiddleware(RequestDelegate next, IApplicationContext applicationContext)
6 | {
7 | public async Task Invoke(HttpContext context)
8 | {
9 | ApplicationContext.Context.Value ??= applicationContext;
10 | await next(context);
11 | }
12 | }
--------------------------------------------------------------------------------
/Intersect (Core)/Network/PacketLifecycle.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Network;
2 |
3 | public sealed partial class PacketLifecycle
4 | {
5 | public Type PacketType { get; }
6 |
7 | public IReadOnlyList PreHandlers { get; }
8 |
9 | public IReadOnlyList PostHandlers { get; }
10 |
11 | public IPacketHandler Preprocessor { get; }
12 |
13 | public IPacketHandler Handler { get; }
14 |
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/Intersect.Server.Core/Database/SchemaMigrationAttribute.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Database;
2 |
3 | [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
4 | internal sealed partial class SchemaMigrationAttribute : SchemaMigrationTypeAttribute
5 | {
6 | public SchemaMigrationAttribute(Type schemaMigrationType)
7 | : base(schemaMigrationType) { }
8 |
9 | public bool ApplyIfLast { get; set; }
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Server/Core/CommandParsing/Arguments/HelpArgument.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Localization;
2 |
3 | namespace Intersect.Server.Core.CommandParsing.Arguments
4 | {
5 |
6 | public partial class HelpArgument : CommandArgument
7 | {
8 |
9 | public HelpArgument() : base(Strings.Commands.Arguments.Help)
10 | {
11 | }
12 |
13 | public override bool IsFlag => true;
14 |
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_upload/materialiconstwotone/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/ConditionMetadata/AccessIsCondition.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 | using Intersect.Framework.Core.GameObjects.Events;
3 |
4 | namespace Intersect.Framework.Core.GameObjects.Conditions.ConditionMetadata;
5 |
6 | public partial class AccessIsCondition : Condition
7 | {
8 | public override ConditionType Type { get; } = ConditionType.AccessIs;
9 |
10 | public Access Access { get; set; }
11 | }
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Content/IAsset.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Content;
2 |
3 | public interface IAsset
4 | {
5 | public event Action? Disposed;
6 |
7 | public event Action? Loaded;
8 |
9 | public event Action? Unloaded;
10 |
11 | public bool IsDisposed { get; }
12 |
13 | public bool IsLoaded { get; }
14 |
15 | string Id { get; }
16 |
17 | public string Name { get; }
18 | }
19 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/IDataPage.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Collections.Sorting;
2 |
3 | namespace Intersect.Server.Web.Types;
4 |
5 | public interface IDataPage
6 | {
7 | int Total { get; init; }
8 | int Page { get; init; }
9 | int PageSize { get; init; }
10 | int Count { get; init; }
11 | IEnumerable Sort { get; init; }
12 | IEnumerable Values { get; init; }
13 | dynamic Extra { get; init; }
14 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/file/file_download/materialiconstwotone/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ScreenFadeCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ScreenFadeCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.Fade;
6 |
7 | public FadeType FadeType { get; set; }
8 |
9 | public bool WaitForCompletion { get; set; }
10 |
11 | public int DurationMs { get; set; }
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/BuyItemPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public class BuyItemPacket : SlotQuantityPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public BuyItemPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public BuyItemPacket(int slot, int quantity) : base(slot, quantity)
14 | {
15 | }
16 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Annotations/IgnoreAttribute.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 |
3 | namespace Intersect.Framework.Annotations;
4 |
5 | [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Struct | AttributeTargets.Enum)]
6 | public sealed class IgnoreAttribute : CachedExistenceAttribute
7 | {
8 | public static bool IsIgnored(MemberInfo memberInfo) => ExistsOn(memberInfo);
9 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework/Services/ExceptionHandling/IExceptionHandlingService.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Services.ExceptionHandling;
2 |
3 | public interface IExceptionHandlingService
4 | {
5 | event EventHandler? UnhandledException;
6 |
7 | event EventHandler? UnobservedTaskException;
8 |
9 | void DispatchUnhandledException(Exception exception, bool isTerminating);
10 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Player/ItemListResponseBody.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Server.Database.PlayerData.Players;
2 |
3 | namespace Intersect.Server.Web.Types.Player;
4 |
5 | public readonly struct ItemListResponse(IEnumerable bankItems, IEnumerable inventoryItems)
6 | {
7 | public IEnumerable Bank { get; init; } = bankItems;
8 |
9 | public IEnumerable Inventory { get; init; } = inventoryItems;
10 | }
--------------------------------------------------------------------------------
/Intersect.Server/wwwroot/material/navigation/refresh/materialiconsoutlined/24px.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Intersect.Tests.Client/Stub.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.Utilities;
2 | using NUnit.Framework;
3 |
4 | namespace Intersect.Tests.Client
5 | {
6 |
7 | [TestFixture]
8 | public partial class Stub
9 | {
10 |
11 | [Test]
12 | public void TestStub()
13 | {
14 | // Needed so NUnit doesn't return -2
15 | Assert.That(0, Is.EqualTo(MathHelper.Lerp(0, 0, 0)));
16 | }
17 |
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/Commands/ChangeNameColorCommand.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Events.Commands;
2 |
3 | public partial class ChangeNameColorCommand : EventCommand
4 | {
5 | public override EventCommandType Type { get; } = EventCommandType.ChangeNameColor;
6 |
7 | public Color Color { get; set; }
8 |
9 | public bool Override { get; set; }
10 |
11 | public bool Remove { get; set; }
12 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/PlayerClass/ClassSpell.cs:
--------------------------------------------------------------------------------
1 | using Intersect.GameObjects;
2 | using Newtonsoft.Json;
3 |
4 | namespace Intersect.Framework.Core.GameObjects.PlayerClass;
5 |
6 | public partial class ClassSpell
7 | {
8 | [JsonProperty]
9 | public Guid Id { get; set; }
10 |
11 | public int Level { get; set; }
12 |
13 | public SpellDescriptor Get()
14 | {
15 | return SpellDescriptor.Get(Id);
16 | }
17 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/DropItemPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public class DropItemPacket : SlotQuantityPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public DropItemPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public DropItemPacket(int slot, int quantity) : base(slot, quantity)
14 | {
15 | }
16 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/HotbarSwapPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class HotbarSwapPacket : SlotSwapPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public HotbarSwapPacket() : base(0,0)
10 | {
11 | }
12 |
13 | public HotbarSwapPacket(int slot1, int slot2) : base(slot1, slot2) { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/SellItemPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public class SellItemPacket : SlotQuantityPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public SellItemPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public SellItemPacket(int slot, int quantity) : base(slot, quantity)
14 | {
15 | }
16 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/SwapSpellsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class SwapSpellsPacket : SlotSwapPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public SwapSpellsPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public SwapSpellsPacket(int slot1, int slot2) : base(slot1, slot2) { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Events/BooleanVariableMod.cs:
--------------------------------------------------------------------------------
1 | using Newtonsoft.Json;
2 |
3 | namespace Intersect.Framework.Core.GameObjects.Events;
4 |
5 | public partial class BooleanVariableMod : VariableMod
6 | {
7 | public bool Value { get; set; }
8 |
9 | public VariableType DupVariableType { get; set; } = VariableType.PlayerVariable;
10 |
11 | [JsonProperty("DupVariableId")]
12 | public Guid DuplicateVariableId { get; set; }
13 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Maps/MapAttributeType.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Maps;
2 |
3 | public enum MapAttributeType : byte
4 | {
5 | Walkable = 0,
6 |
7 | Blocked,
8 |
9 | Item,
10 |
11 | ZDimension,
12 |
13 | NpcAvoid,
14 |
15 | Warp,
16 |
17 | Sound,
18 |
19 | Resource,
20 |
21 | Animation,
22 |
23 | GrappleStone,
24 |
25 | Slide,
26 |
27 | Critter,
28 | }
29 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Spells/SpellDashDescriptor.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.EntityFrameworkCore;
2 |
3 | namespace Intersect.GameObjects;
4 |
5 | [Owned]
6 | public partial class SpellDashDescriptor
7 | {
8 | public bool IgnoreMapBlocks { get; set; }
9 |
10 | public bool IgnoreActiveResources { get; set; }
11 |
12 | public bool IgnoreInactiveResources { get; set; }
13 |
14 | public bool IgnoreZDimensionAttributes { get; set; }
15 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Server/NpcEntityPacket.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 | using MessagePack;
3 |
4 | namespace Intersect.Network.Packets.Server;
5 |
6 | [MessagePackObject]
7 | public partial class NpcEntityPacket : EntityPacket
8 | {
9 | //Parameterless Constructor for MessagePack
10 | public NpcEntityPacket()
11 | {
12 | }
13 |
14 |
15 | [Key(24)]
16 | public NpcAggression Aggression { get; set; }
17 | }
18 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Plugins/IPluginContext`1.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Plugins;
2 |
3 | ///
4 | /// Defines the API of the during application runtime.
5 | ///
6 | /// a subtype
7 | public interface IPluginContext : IPluginContext
8 | where TPluginContext : IPluginContext
9 | {
10 | }
11 |
--------------------------------------------------------------------------------
/Intersect.Client.Framework/Graphics/VertexComponent.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Client.Framework.Graphics;
2 |
3 | public enum VertexComponent
4 | {
5 | Position = 0x1 << 1,
6 | Color = 0x1 << 2,
7 | TextureUV = 0x1 << 3,
8 | Normal = 0x1 << 4,
9 | Binormal = 0x1 << 5,
10 | Tangent = 0x1 << 6,
11 | BlendIndices = 0x1 << 7,
12 | BlendWeight = 0x1 << 8,
13 | Depth = 0x1 << 9,
14 | Fog = 0x1 << 10,
15 | PointSize = 0x1 << 11,
16 | }
--------------------------------------------------------------------------------
/Intersect.Server.Core/Plugins/Helpers/ServerLifecycleHelper.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Plugins.Helpers;
2 |
3 | namespace Intersect.Server.Plugins.Helpers;
4 |
5 | ///
6 | internal sealed partial class ServerLifecycleHelper : ContextHelper, IServerLifecycleHelper
7 | {
8 | ///
9 | public ServerLifecycleHelper(IServerPluginContext context) : base(context)
10 | {
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/AdminActionParameters.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | public partial struct AdminActionParameters
4 | {
5 | public string Moderator { get; set; }
6 |
7 | public int Duration { get; set; }
8 |
9 | public bool Ip { get; set; }
10 |
11 | public string Reason { get; set; }
12 |
13 | public byte X { get; set; }
14 |
15 | public byte Y { get; set; }
16 |
17 | public Guid MapId { get; set; }
18 | }
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/Info/InfoStatsResponseBody.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types.Info;
2 |
3 | public struct InfoStatsResponseBody(long uptime, long cps, int? connectedClients, int? onlineCount)
4 | {
5 | public long Uptime { get; set; } = uptime;
6 |
7 | public long Cps { get; set; } = cps;
8 |
9 | public int? ConnectedClients { get; set; } = connectedClients;
10 |
11 | public int? OnlineCount { get; set; } = onlineCount;
12 | }
13 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Config/DatabaseType.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Framework.Annotations;
2 |
3 | namespace Intersect.Config;
4 |
5 | public enum DatabaseType
6 | {
7 | [Ignore]
8 | Unknown,
9 |
10 | SQLite,
11 |
12 | Sqlite = SQLite,
13 |
14 | sqlite = SQLite,
15 |
16 | MySQL,
17 |
18 | MySql = MySQL,
19 |
20 | Mysql = MySQL,
21 |
22 | mysql = MySQL,
23 |
24 | MariaDB = MySQL,
25 |
26 | mariadb = MariaDB,
27 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/GameObjects/Conditions/Condition.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Framework.Core.GameObjects.Conditions;
2 |
3 | public partial class Condition
4 | {
5 | public virtual ConditionType Type { get; }
6 |
7 | public bool Negated { get; set; }
8 |
9 | ///
10 | /// Configures whether or not this condition does or does not have an else branch.
11 | ///
12 | public bool ElseEnabled { get; set; } = true;
13 | }
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/SwapBagItemsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class SwapBagItemsPacket : SlotSwapPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public SwapBagItemsPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public SwapBagItemsPacket(int slot1, int slot2) : base(slot1, slot2) { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/SwapInvItemsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class SwapInvItemsPacket : SlotSwapPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public SwapInvItemsPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public SwapInvItemsPacket(int slot1, int slot2) : base(slot1, slot2) { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Intersect.Client.Core/Maps/MapGrid.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Client.General;
2 | using Intersect.Client.Framework.Maps;
3 |
4 | namespace Intersect.Client.Maps;
5 |
6 | public partial class MapGrid : IMapGrid
7 | {
8 | ///
9 | public Guid[,] Content => Globals.MapGrid;
10 |
11 | ///
12 | public long Height => Globals.MapGridHeight;
13 |
14 | ///
15 | public long Width => Globals.MapGridWidth;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Items/EntityItemSource.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Enums;
2 | using Intersect.Server.Framework.Entities;
3 |
4 | namespace Intersect.Server.Framework.Items;
5 |
6 | public partial class EntityItemSource: IItemSource
7 | {
8 | public Guid Id { get; init; }
9 | public ItemSourceType SourceType => ItemSourceType.Entity;
10 | public EntityType EntityType { get; init; }
11 | public WeakReference EntityReference { get; init; }
12 | }
--------------------------------------------------------------------------------
/Intersect.Server.Framework/Plugins/IServerPluginContext.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Plugins;
2 | using Intersect.Server.Plugins.Helpers;
3 |
4 | namespace Intersect.Server.Plugins
5 | {
6 | ///
7 | /// Declares the plugin API surface for the Intersect server
8 | ///
9 | public interface IServerPluginContext : IPluginContext
10 | {
11 | IMapHelper MapHelper { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Intersect.Server/Web/Types/PagingInfo.cs:
--------------------------------------------------------------------------------
1 | namespace Intersect.Server.Web.Types;
2 |
3 | // TODO: Struct, right now there's an exception when it's a struct and I'm not sure how to fix it
4 | public class PagingInfo
5 | {
6 | public const int MaxPageSize = 100;
7 | public const int MinPageSize = 5;
8 | public const int DefaultPageSize = 10;
9 |
10 | public int Page { get; set; } = 0;
11 |
12 | public int PageSize { get; set; } = DefaultPageSize;
13 | }
--------------------------------------------------------------------------------
/Intersect.Tests.Editor/Stub.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 |
3 | namespace Intersect.Tests.Editor
4 | {
5 |
6 | [TestFixture]
7 | public partial class Stub
8 | {
9 |
10 | [Test]
11 | public void TestStub()
12 | {
13 | // Needed so NUnit doesn't return -2
14 | // TODO: Remove this when there are actual tests in this assembly
15 | Assert.AreEqual(0, 0);
16 | }
17 |
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Intersect.Tests.Network/Stub.cs:
--------------------------------------------------------------------------------
1 | using NUnit.Framework;
2 |
3 | namespace Intersect.Tests.Network
4 | {
5 |
6 | [TestFixture]
7 | public partial class Stub
8 | {
9 |
10 | [Test]
11 | public void TestStub()
12 | {
13 | // Needed so NUnit doesn't return -2
14 | // TODO: Remove this when there are actual tests in this assembly
15 | Assert.AreEqual(0, 0);
16 | }
17 |
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Config/MetricsOptions.cs:
--------------------------------------------------------------------------------
1 | using Intersect.Framework.Annotations;
2 |
3 | namespace Intersect.Config;
4 |
5 | ///
6 | /// Contains configurable options pertaining to stat/metrics collecting
7 | ///
8 | public partial class MetricsOptions
9 | {
10 | ///
11 | /// Track game performance metrics
12 | ///
13 | [RequiresRestart]
14 | public bool Enable { get; set; } = false;
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/Packets/Client/SwapBankItemsPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network.Packets.Client;
4 |
5 | [MessagePackObject]
6 | public partial class SwapBankItemsPacket : SlotSwapPacket
7 | {
8 | //Parameterless Constructor for MessagePack
9 | public SwapBankItemsPacket() : base(0, 0)
10 | {
11 | }
12 |
13 | public SwapBankItemsPacket(int slot1, int slot2) : base(slot1, slot2) { }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/Framework/Intersect.Framework.Core/Network/UnconnectedRequestPacket.cs:
--------------------------------------------------------------------------------
1 | using MessagePack;
2 |
3 | namespace Intersect.Network;
4 |
5 | public abstract class UnconnectedRequestPacket : UnconnectedPacket
6 | {
7 | protected UnconnectedRequestPacket() { }
8 |
9 | protected UnconnectedRequestPacket(byte[] responseKey)
10 | {
11 | ResponseKey = responseKey;
12 | }
13 |
14 | [Key(1)] public byte[] ResponseKey { get; set; } = Array.Empty();
15 | }
--------------------------------------------------------------------------------