gitextract_crxs70bx/ ├── .coderabbit.yaml ├── .editorconfig ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── dependabot.yml │ └── workflows/ │ └── dotnet.yml ├── .gitignore ├── CONTRIBUTING.md ├── Directory.Build.props ├── Directory.Packages.props ├── LICENSE ├── NosCore.sln ├── NosCore.sln.DotSettings ├── NosCore.sln.startup.json ├── NuGet.config ├── README.md ├── build/ │ └── .gitkeep ├── build-exe.cmd ├── build.cmd ├── codecov.yml ├── configuration/ │ ├── api.yml │ ├── database.yml │ ├── logger.yml │ ├── login.yml │ ├── master.yml │ ├── parser.yml │ └── world.yml ├── deploy/ │ ├── Dockerfile-login │ ├── Dockerfile-master │ └── Dockerfile-world ├── docker-compose.yml ├── documentation/ │ ├── PostmanCollection/ │ │ └── NosCore.postman_collection.json │ └── dat/ │ ├── Card.dat.md │ ├── Item.dat.md │ ├── Skill.dat.md │ ├── monster.dat.md │ └── quest.dat.md ├── lgtm.yml ├── scripts/ │ ├── Docker - All.cmd │ ├── Docker - LoginServer.cmd │ ├── Docker - MasterServer.cmd │ ├── Docker - Postgres.cmd │ ├── Docker - ReverseProxy.cmd │ ├── Docker - Shutdown.cmd │ ├── Docker - WorldServer.cmd │ ├── LoginServer.cmd │ ├── MasterServer.cmd │ ├── Parser.cmd │ ├── WorldServer.cmd │ └── docker-publish.sh ├── src/ │ ├── NosCore.Core/ │ │ ├── AuthorizeRoleAttribute.cs │ │ ├── Channel.cs │ │ ├── ChannelInfo.cs │ │ ├── Concurrency/ │ │ │ └── AsyncLock.cs │ │ ├── Configuration/ │ │ │ ├── LoginConfiguration.cs │ │ │ └── WorldConfiguration.cs │ │ ├── ConfigureJwtBearerOptions.cs │ │ ├── ConnectionInfo.cs │ │ ├── Encryption/ │ │ │ ├── BcryptEncryption.cs │ │ │ ├── Pbkdf2Hasher.cs │ │ │ └── Sha512Hasher.cs │ │ ├── Extensions/ │ │ │ └── TypeExtension.cs │ │ ├── I18N/ │ │ │ ├── GameLanguageLocalizer.cs │ │ │ └── IGameLanguageLocalizer.cs │ │ ├── NosCore.Core.csproj │ │ ├── Observability/ │ │ │ └── NosCoreTelemetry.cs │ │ ├── Services/ │ │ │ └── IdService/ │ │ │ ├── IIdService.cs │ │ │ └── IdService.cs │ │ └── SessionFactory.cs │ ├── NosCore.Data/ │ │ ├── CommandPackets/ │ │ │ ├── ChangeChannelPacket.cs │ │ │ ├── ChangeClassPacket.cs │ │ │ ├── ChangeGenderPacket.cs │ │ │ ├── ClearInventoryPacket.cs │ │ │ ├── CommandPacketHeaderAttribute.cs │ │ │ ├── CreateItemPacket.cs │ │ │ ├── EffectCommandPacket.cs │ │ │ ├── EntryPointPacket.cs │ │ │ ├── FlCommandPacket.cs │ │ │ ├── GiftPacket.cs │ │ │ ├── HelpPacket.cs │ │ │ ├── ICommandPacket.cs │ │ │ ├── InvisibleCommandPacket.cs │ │ │ ├── KickPacket.cs │ │ │ ├── KillPacket.cs │ │ │ ├── PositionPacket.cs │ │ │ ├── SetBankGoldPacket.cs │ │ │ ├── SetGoldCommandPacket.cs │ │ │ ├── SetHairColorPacket.cs │ │ │ ├── SetHairStylePacket.cs │ │ │ ├── SetHeroLevelCommandPacket.cs │ │ │ ├── SetHeroXpPacket.cs │ │ │ ├── SetJobLevelCommandPacket.cs │ │ │ ├── SetJobLevelXpPacket.cs │ │ │ ├── SetLevelCommandPacket.cs │ │ │ ├── SetMaintenancePacket.cs │ │ │ ├── SetReputationPacket.cs │ │ │ ├── SetSpAdditionPointPacket.cs │ │ │ ├── SetSpPointPacket.cs │ │ │ ├── ShoutHerePacket.cs │ │ │ ├── ShoutPacket.cs │ │ │ ├── SizePacket.cs │ │ │ ├── SpeedPacket.cs │ │ │ └── TeleportPacket.cs │ │ ├── DataAttributes/ │ │ │ └── StaticMetaDataAttribute.cs │ │ ├── Dto/ │ │ │ ├── I18NFromAttribute.cs │ │ │ ├── I18NString.cs │ │ │ ├── IDTO.cs │ │ │ ├── II18NDto.cs │ │ │ ├── IItemInstanceDto.cs │ │ │ ├── IStaticDto.cs │ │ │ └── StaticDtoExtension.cs │ │ ├── Enumerations/ │ │ │ ├── Audit/ │ │ │ │ └── AuditLogType.cs │ │ │ ├── Battle/ │ │ │ │ └── TargetHitType.cs │ │ │ ├── Bazaar/ │ │ │ │ ├── BazaarEquipmentType.cs │ │ │ │ ├── BazaarJeweleryType.cs │ │ │ │ ├── BazaarMainType.cs │ │ │ │ └── BazaarUsableType.cs │ │ │ ├── Buff/ │ │ │ │ ├── AdditionalTypes.cs │ │ │ │ ├── BCardType.cs │ │ │ │ ├── BuffType.cs │ │ │ │ ├── MedalType.cs │ │ │ │ ├── ShellOptionType.cs │ │ │ │ └── StaticBonusType.cs │ │ │ ├── Character/ │ │ │ │ ├── CharacterOption.cs │ │ │ │ ├── CharacterState.cs │ │ │ │ ├── FactionType.cs │ │ │ │ └── MateType.cs │ │ │ ├── Event/ │ │ │ │ ├── EventActionType.cs │ │ │ │ └── EventType.cs │ │ │ ├── Family/ │ │ │ │ ├── FamilyAuthority.cs │ │ │ │ ├── FamilyLogType.cs │ │ │ │ └── FamilyMemberRank.cs │ │ │ ├── Group/ │ │ │ │ ├── GroupSharingType.cs │ │ │ │ └── GroupType.cs │ │ │ ├── HashingType.cs │ │ │ ├── I18N/ │ │ │ │ └── LanguageKey.cs │ │ │ ├── Interaction/ │ │ │ │ ├── Act4RaidType.cs │ │ │ │ ├── ArenaTeamType.cs │ │ │ │ ├── ChatType.cs │ │ │ │ ├── GeneralLogType.cs │ │ │ │ ├── InRespawnType.cs │ │ │ │ ├── PenaltyType.cs │ │ │ │ ├── ReceiverType.cs │ │ │ │ ├── RespawnType.cs │ │ │ │ ├── ScriptedInstanceType.cs │ │ │ │ ├── TalentArenaOptionType.cs │ │ │ │ └── TeleporterType.cs │ │ │ ├── Items/ │ │ │ │ ├── CellonType.cs │ │ │ │ ├── ItemEffectType.cs │ │ │ │ ├── ItemType.cs │ │ │ │ ├── JewelOptionType.cs │ │ │ │ ├── RarifyMode.cs │ │ │ │ ├── RarifyProtection.cs │ │ │ │ ├── UpgradeMode.cs │ │ │ │ └── UpgradeProtection.cs │ │ │ ├── Map/ │ │ │ │ ├── MapInstanceEventType.cs │ │ │ │ ├── MapInstanceType.cs │ │ │ │ ├── MapTypeType.cs │ │ │ │ └── MonsterType.cs │ │ │ ├── Miniland/ │ │ │ │ └── WarehouseType.cs │ │ │ ├── NoscorePocketType.cs │ │ │ ├── Quest/ │ │ │ │ └── QuestRewardType.cs │ │ │ ├── SaveResult.cs │ │ │ └── UpdateStatActionType.cs │ │ ├── GameObjectMapper.cs │ │ ├── NosCore.Data.csproj │ │ ├── Resource/ │ │ │ ├── LocalizedResources.Designer.cs │ │ │ ├── LocalizedResources.cs.resx │ │ │ ├── LocalizedResources.de.resx │ │ │ ├── LocalizedResources.es.resx │ │ │ ├── LocalizedResources.fr.resx │ │ │ ├── LocalizedResources.it.resx │ │ │ ├── LocalizedResources.pl.resx │ │ │ ├── LocalizedResources.resx │ │ │ ├── LocalizedResources.ru.resx │ │ │ └── LocalizedResources.tr.resx │ │ └── WebApi/ │ │ ├── AuthIntent.cs │ │ ├── BazaarLink.cs │ │ ├── BazaarRequest.cs │ │ ├── BlacklistRequest.cs │ │ ├── Character.cs │ │ ├── CharacterRelationStatus.cs │ │ ├── FriendShipRequest.cs │ │ ├── MailRequest.cs │ │ ├── Subscriber.cs │ │ ├── WareHouseDepositRequest.cs │ │ └── WarehouseLink.cs │ ├── NosCore.Database/ │ │ ├── DesignTimeDbContextFactory.cs │ │ ├── Entities/ │ │ │ ├── Account.cs │ │ │ ├── Act.cs │ │ │ ├── ActPart.cs │ │ │ ├── AuditLog.cs │ │ │ ├── BCard.cs │ │ │ ├── Base/ │ │ │ │ ├── I18NStringAttribute.cs │ │ │ │ ├── IEntity.cs │ │ │ │ ├── IStaticEntity.cs │ │ │ │ └── SynchronizableBaseEntity.cs │ │ │ ├── BazaarItem.cs │ │ │ ├── BoxInstance.cs │ │ │ ├── Card.cs │ │ │ ├── Character.cs │ │ │ ├── CharacterActPart.cs │ │ │ ├── CharacterQuest.cs │ │ │ ├── CharacterQuestObjective.cs │ │ │ ├── CharacterRelation.cs │ │ │ ├── Characterskill.cs │ │ │ ├── Combo.cs │ │ │ ├── Drop.cs │ │ │ ├── EquipmentOption.cs │ │ │ ├── Family.cs │ │ │ ├── FamilyCharacter.cs │ │ │ ├── FamilyLog.cs │ │ │ ├── I18NActDesc.cs │ │ │ ├── I18NBCard.cs │ │ │ ├── I18NCard.cs │ │ │ ├── I18NItem.cs │ │ │ ├── I18NMapIdData.cs │ │ │ ├── I18NMapPointData.cs │ │ │ ├── I18NNpcMonster.cs │ │ │ ├── I18NNpcMonsterTalk.cs │ │ │ ├── I18NQuest.cs │ │ │ ├── I18NSkill.cs │ │ │ ├── InventoryItemInstance.cs │ │ │ ├── Item.cs │ │ │ ├── ItemInstance.cs │ │ │ ├── Mail.cs │ │ │ ├── Map.cs │ │ │ ├── MapMonster.cs │ │ │ ├── MapNpc.cs │ │ │ ├── MapType.cs │ │ │ ├── MapTypeMap.cs │ │ │ ├── Mate.cs │ │ │ ├── Miniland.cs │ │ │ ├── MinilandObject.cs │ │ │ ├── NpcMonster.cs │ │ │ ├── NpcMonsterskill.cs │ │ │ ├── NpcTalk.cs │ │ │ ├── PenaltyLog.cs │ │ │ ├── Portal.cs │ │ │ ├── Quest.cs │ │ │ ├── QuestObjective.cs │ │ │ ├── QuestQuestReward.cs │ │ │ ├── QuestReward.cs │ │ │ ├── QuicklistEntry.cs │ │ │ ├── Recipe.cs │ │ │ ├── RecipeItem.cs │ │ │ ├── Respawn.cs │ │ │ ├── RespawnMapType.cs │ │ │ ├── RollGeneratedItem.cs │ │ │ ├── Script.cs │ │ │ ├── ScriptedInstance.cs │ │ │ ├── Shop.cs │ │ │ ├── ShopItem.cs │ │ │ ├── Shopskill.cs │ │ │ ├── Skill.cs │ │ │ ├── SpecialistInstance.cs │ │ │ ├── StaticBonus.cs │ │ │ ├── StaticBuff.cs │ │ │ ├── Teleporter.cs │ │ │ ├── Title.cs │ │ │ ├── UsableInstance.cs │ │ │ ├── Warehouse.cs │ │ │ ├── WarehouseItem.cs │ │ │ └── WearableInstance.cs │ │ ├── Hosting/ │ │ │ └── PersistenceModule.cs │ │ ├── Migrations/ │ │ │ ├── 20220103074410_FirstMigration.Designer.cs │ │ │ ├── 20220103074410_FirstMigration.cs │ │ │ ├── 20231125092440_BumpToEf8.Designer.cs │ │ │ ├── 20231125092440_BumpToEf8.cs │ │ │ ├── 20260420121955_AddCharacterQuestObjective.Designer.cs │ │ │ ├── 20260420121955_AddCharacterQuestObjective.cs │ │ │ ├── 20260420231052_AddNpcMonsterCanWalk.Designer.cs │ │ │ ├── 20260420231052_AddNpcMonsterCanWalk.cs │ │ │ ├── 20260421034800_ParseMonsterDatExtras.Designer.cs │ │ │ ├── 20260421034800_ParseMonsterDatExtras.cs │ │ │ ├── 20260421054001_AddBCardSlot.Designer.cs │ │ │ ├── 20260421054001_AddBCardSlot.cs │ │ │ ├── 20260421070126_AddMountAndRaidPockets.Designer.cs │ │ │ ├── 20260421070126_AddMountAndRaidPockets.cs │ │ │ ├── 20260421105756_DropMapMonsterIsMoving.Designer.cs │ │ │ ├── 20260421105756_DropMapMonsterIsMoving.cs │ │ │ ├── 20260421112205_ParseExtraNpcMonsterColumns.Designer.cs │ │ │ ├── 20260421112205_ParseExtraNpcMonsterColumns.cs │ │ │ ├── 20260424144528_AddMateCaptureItemEffect.Designer.cs │ │ │ ├── 20260424144528_AddMateCaptureItemEffect.cs │ │ │ └── NosCoreContextModelSnapshot.cs │ │ ├── NosCore.Database.csproj │ │ └── NosCoreContext.cs │ ├── NosCore.GameObject/ │ │ ├── Ecs/ │ │ │ ├── Attributes/ │ │ │ │ └── ComponentBundleAttribute.cs │ │ │ ├── Components/ │ │ │ │ ├── AggroComponent.cs │ │ │ │ ├── AppearanceComponent.cs │ │ │ │ ├── BuffStateComponent.cs │ │ │ │ ├── CombatComponent.cs │ │ │ │ ├── EffectComponent.cs │ │ │ │ ├── EntityIdentityComponent.cs │ │ │ │ ├── ExperienceComponent.cs │ │ │ │ ├── GoldComponent.cs │ │ │ │ ├── HealthComponent.cs │ │ │ │ ├── ManaComponent.cs │ │ │ │ ├── MapItemDataComponent.cs │ │ │ │ ├── NameComponent.cs │ │ │ │ ├── NpcDataComponent.cs │ │ │ │ ├── NpcMovementComponent.cs │ │ │ │ ├── NpcStateComponent.cs │ │ │ │ ├── PlayerComponent.cs │ │ │ │ ├── PlayerContextComponent.cs │ │ │ │ ├── PlayerFlagsComponent.cs │ │ │ │ ├── PlayerInventoryComponent.cs │ │ │ │ ├── PlayerNetworkComponent.cs │ │ │ │ ├── PlayerRequestsComponent.cs │ │ │ │ ├── PlayerSocialComponent.cs │ │ │ │ ├── PlayerStateComponent.cs │ │ │ │ ├── PositionComponent.cs │ │ │ │ ├── ReputationComponent.cs │ │ │ │ ├── SkillCooldownComponent.cs │ │ │ │ ├── SpComponent.cs │ │ │ │ ├── SpawnComponent.cs │ │ │ │ ├── SpeedComponent.cs │ │ │ │ ├── TimingComponent.cs │ │ │ │ └── VisualComponent.cs │ │ │ ├── DignityLevels.cs │ │ │ ├── Extensions/ │ │ │ │ ├── AliveEntityExtension.cs │ │ │ │ ├── CharacterEntityExtension.cs │ │ │ │ ├── GroupExtension.cs │ │ │ │ ├── ItemInstanceExtension.cs │ │ │ │ ├── MapItemBundleExtensions.cs │ │ │ │ ├── MonsterBundleExtensions.cs │ │ │ │ ├── NonPlayableEntityExtension.cs │ │ │ │ ├── NpcBundleExtensions.cs │ │ │ │ ├── NpcInfoExtensions.cs │ │ │ │ ├── PlayerBundleExtensions.cs │ │ │ │ └── VisualEntityExtension.cs │ │ │ ├── Interfaces/ │ │ │ │ ├── IAliveEntity.cs │ │ │ │ ├── ICharacterEntity.cs │ │ │ │ ├── INamedEntity.cs │ │ │ │ ├── INonPlayableEntity.cs │ │ │ │ └── IVisualEntity.cs │ │ │ ├── MapItemComponentBundle.cs │ │ │ ├── MapWorld.cs │ │ │ ├── MonsterComponentBundle.cs │ │ │ ├── NpcComponentBundle.cs │ │ │ ├── PlayerComponentBundle.cs │ │ │ ├── ReputationLevels.cs │ │ │ └── Systems/ │ │ │ ├── MovementSystem.cs │ │ │ └── VisibilitySystem.cs │ │ ├── Hosting/ │ │ │ └── Modules/ │ │ │ └── NetworkingModule.cs │ │ ├── Infastructure/ │ │ │ ├── IPacketHandler.cs │ │ │ └── ISingletonService.cs │ │ ├── InterChannelCommunication/ │ │ │ ├── HubConnectionFactory.cs │ │ │ ├── Hubs/ │ │ │ │ ├── AuthHub/ │ │ │ │ │ ├── AuthHub.cs │ │ │ │ │ ├── AuthHubClient.cs │ │ │ │ │ └── IAuthHub.cs │ │ │ │ ├── BaseHubClient.cs │ │ │ │ ├── BazaarHub/ │ │ │ │ │ ├── BazaarHub.cs │ │ │ │ │ ├── BazaarHubClient.cs │ │ │ │ │ └── IBazaarHub.cs │ │ │ │ ├── BlacklistHub/ │ │ │ │ │ ├── BlacklistHub.cs │ │ │ │ │ ├── BlacklistHubClient.cs │ │ │ │ │ └── IBlacklistHub.cs │ │ │ │ ├── ChannelHub/ │ │ │ │ │ ├── ChannelHub.cs │ │ │ │ │ ├── ChannelHubClient.cs │ │ │ │ │ └── IChannelHub.cs │ │ │ │ ├── FriendHub/ │ │ │ │ │ ├── FriendHub.cs │ │ │ │ │ ├── FriendHubClient.cs │ │ │ │ │ └── IFriendHub.cs │ │ │ │ ├── MailHub/ │ │ │ │ │ ├── IMailHub.cs │ │ │ │ │ ├── MailHub.cs │ │ │ │ │ └── MailHubClient.cs │ │ │ │ ├── PubSub/ │ │ │ │ │ ├── IPubSubHub.cs │ │ │ │ │ ├── PubSubHub.cs │ │ │ │ │ └── PubSubHubClient.cs │ │ │ │ └── WarehouseHub/ │ │ │ │ ├── IWarehouseHub.cs │ │ │ │ ├── WarehouseHub.cs │ │ │ │ └── WarehouseHubClient.cs │ │ │ ├── MasterClientList.cs │ │ │ ├── Messages/ │ │ │ │ ├── DeleteMailData.cs │ │ │ │ ├── DisconnectData.cs │ │ │ │ ├── IMessage.cs │ │ │ │ ├── MailData.cs │ │ │ │ ├── PostedPacket.cs │ │ │ │ └── StatData.cs │ │ │ └── PolymorphicConverter.cs │ │ ├── Map/ │ │ │ ├── Map.cs │ │ │ └── Portal.cs │ │ ├── Messaging/ │ │ │ ├── Events/ │ │ │ │ ├── CharacterMovedEvent.cs │ │ │ │ ├── EntityCapturedEvent.cs │ │ │ │ ├── EntityDamagedEvent.cs │ │ │ │ ├── EntityDiedEvent.cs │ │ │ │ ├── GuriPacketReceivedEvent.cs │ │ │ │ ├── ItemUsedEvent.cs │ │ │ │ ├── MapInstanceEnteredEvent.cs │ │ │ │ ├── MapItemPickedUpEvent.cs │ │ │ │ └── QuestCompletedEvent.cs │ │ │ ├── Handlers/ │ │ │ │ ├── Battle/ │ │ │ │ │ ├── DeathBCardHandler.cs │ │ │ │ │ ├── MonsterAggroHandler.cs │ │ │ │ │ ├── MonsterRespawnHandler.cs │ │ │ │ │ ├── PlayerRevivalHandler.cs │ │ │ │ │ └── RewardDistributionHandler.cs │ │ │ │ ├── Guri/ │ │ │ │ │ ├── EmoticonHandler.cs │ │ │ │ │ ├── MfaHandler.cs │ │ │ │ │ ├── SpeakerHandler.cs │ │ │ │ │ └── TitleHandler.cs │ │ │ │ ├── Map/ │ │ │ │ │ └── MinilandEntranceHandler.cs │ │ │ │ ├── MapItem/ │ │ │ │ │ ├── DropHandler.cs │ │ │ │ │ ├── GoldDropHandler.cs │ │ │ │ │ └── SpChargerHandler.cs │ │ │ │ ├── Nrun/ │ │ │ │ │ ├── BazaarHandler.cs │ │ │ │ │ ├── CellonItemHandler.cs │ │ │ │ │ ├── ChangeClassHandler.cs │ │ │ │ │ ├── FinishedTsDialogHandler.cs │ │ │ │ │ ├── INrunEventHandler.cs │ │ │ │ │ ├── OpenProductionHandler.cs │ │ │ │ │ ├── OpenShopHandler.cs │ │ │ │ │ ├── SetPlaceOfRevivalHandler.cs │ │ │ │ │ ├── TeleporterHandler.cs │ │ │ │ │ └── UpgradeItemHandler.cs │ │ │ │ ├── Quest/ │ │ │ │ │ ├── OnCharacterMovedHandler.cs │ │ │ │ │ ├── OnEntityCapturedHandler.cs │ │ │ │ │ ├── OnEntityDiedHandler.cs │ │ │ │ │ └── OnQuestCompletedHandler.cs │ │ │ │ └── UseItem/ │ │ │ │ ├── BackPackHandler.cs │ │ │ │ ├── BazaarMedalsHandler.cs │ │ │ │ ├── BoxEffectHandler.cs │ │ │ │ ├── ChangeGenderHandler.cs │ │ │ │ ├── HairDieHandler.cs │ │ │ │ ├── MinilandBellHandler.cs │ │ │ │ ├── PetBasketHandler.cs │ │ │ │ ├── SealedTarotCardHandler.cs │ │ │ │ ├── SpRechargerHandler.cs │ │ │ │ ├── SpeakerHandler.cs │ │ │ │ ├── TitleHandler.cs │ │ │ │ ├── VehicleHandler.cs │ │ │ │ └── WearHandler.cs │ │ │ ├── RecurringMessagePublisher.cs │ │ │ ├── ScheduledJobs/ │ │ │ │ ├── RemoveTimeoutStaticBonusesHandler.cs │ │ │ │ ├── RemoveTimeoutStaticBonusesMessage.cs │ │ │ │ ├── SaveAllSessionsHandler.cs │ │ │ │ └── SaveAllSessionsMessage.cs │ │ │ ├── WolverineDependencyRegistrar.cs │ │ │ └── WolverineHostExtensions.cs │ │ ├── Networking/ │ │ │ ├── Broadcaster.cs │ │ │ └── ClientSession/ │ │ │ ├── ClientSession.cs │ │ │ ├── DisconnectHandlers/ │ │ │ │ ├── ExchangeDisconnectHandler.cs │ │ │ │ ├── FriendNotificationDisconnectHandler.cs │ │ │ │ ├── MapDisconnectHandler.cs │ │ │ │ ├── MinilandDisconnectHandler.cs │ │ │ │ └── SaveDisconnectHandler.cs │ │ │ ├── IPacketHandlingStrategy.cs │ │ │ ├── ISessionDisconnectHandler.cs │ │ │ ├── LoginPacketHandlingStrategy.cs │ │ │ ├── NpcDialogRequestSubject.cs │ │ │ ├── RequestData.cs │ │ │ └── WorldPacketHandlingStrategy.cs │ │ ├── NosCore.GameObject.csproj │ │ └── Services/ │ │ ├── AuthService/ │ │ │ ├── AuthCodeService.cs │ │ │ └── IAuthCodeService.cs │ │ ├── BattleService/ │ │ │ ├── AggroService.cs │ │ │ ├── BattleService.cs │ │ │ ├── BattleStatsProvider.cs │ │ │ ├── BuffService.cs │ │ │ ├── CaptureService.cs │ │ │ ├── CharacterSkill.cs │ │ │ ├── DamageCalculator.cs │ │ │ ├── DamageResult.cs │ │ │ ├── HitArguments.cs │ │ │ ├── HitQueue.cs │ │ │ ├── IAggroService.cs │ │ │ ├── IBattleService.cs │ │ │ ├── IBattleStatsProvider.cs │ │ │ ├── IBuffService.cs │ │ │ ├── ICaptureService.cs │ │ │ ├── IDamageCalculator.cs │ │ │ ├── IHitQueue.cs │ │ │ ├── IMonsterAi.cs │ │ │ ├── INpcCombatCatalog.cs │ │ │ ├── IRandomProvider.cs │ │ │ ├── IRegenerationService.cs │ │ │ ├── IRespawnService.cs │ │ │ ├── IRewardService.cs │ │ │ ├── ISkillResolver.cs │ │ │ ├── ITargetResolver.cs │ │ │ ├── Model/ │ │ │ │ ├── BuffInstance.cs │ │ │ │ ├── CombatStats.cs │ │ │ │ ├── HitOutcome.cs │ │ │ │ ├── HitRequest.cs │ │ │ │ └── SkillInfo.cs │ │ │ ├── MonsterAi.cs │ │ │ ├── NpcCombatCatalog.cs │ │ │ ├── RegenerationService.cs │ │ │ ├── RespawnService.cs │ │ │ ├── RewardService.cs │ │ │ ├── SkillResolver.cs │ │ │ ├── SkillResult.cs │ │ │ └── TargetResolver.cs │ │ ├── BazaarService/ │ │ │ ├── BazaarRegistry.cs │ │ │ ├── BazaarService.cs │ │ │ ├── IBazaarRegistry.cs │ │ │ └── IBazaarService.cs │ │ ├── BlackListService/ │ │ │ ├── BlacklistService.cs │ │ │ └── IBlacklistService.cs │ │ ├── BroadcastService/ │ │ │ ├── IPacketBroadcaster.cs │ │ │ ├── IPacketSender.cs │ │ │ ├── IPacketTarget.cs │ │ │ ├── ISessionRegistry.cs │ │ │ ├── PacketBroadcaster.cs │ │ │ └── SessionRegistry.cs │ │ ├── ChannelCommunicationService/ │ │ │ ├── ChannelCommunicationRunner.cs │ │ │ └── Handlers/ │ │ │ ├── DeleteMailDataMessageChannelCommunicationMessageHandler.cs │ │ │ ├── DisconnectDataMessageChannelCommunicationMessageHandler.cs │ │ │ ├── IChannelCommunicationMessageHandler.cs │ │ │ ├── MailDataMessageChannelCommunicationMessageHandler.cs │ │ │ ├── PostedPacketMessageChannelCommunicationMessageHandler.cs │ │ │ └── StatDataMessageChannelCommunicationMessageHandler.cs │ │ ├── ChannelService/ │ │ │ ├── ChannelService.cs │ │ │ └── IChannelService.cs │ │ ├── CharacterService/ │ │ │ ├── CharacterInitializationService.cs │ │ │ └── ICharacterInitializationService.cs │ │ ├── ExchangeService/ │ │ │ ├── ExchangeData.cs │ │ │ ├── ExchangeRequestRegistry.cs │ │ │ ├── ExchangeService.cs │ │ │ ├── IExchangeRequestRegistry.cs │ │ │ └── IExchangeService.cs │ │ ├── ExperienceService/ │ │ │ ├── ExperienceProgressionService.cs │ │ │ └── IExperienceProgressionService.cs │ │ ├── FriendService/ │ │ │ ├── CharacterRelation.cs │ │ │ ├── FriendRequestRegistry.cs │ │ │ ├── FriendService.cs │ │ │ ├── IFriendRequestRegistry.cs │ │ │ └── IFriendService.cs │ │ ├── GroupService/ │ │ │ ├── Group.cs │ │ │ ├── GroupRegistry.cs │ │ │ └── IGroupRegistry.cs │ │ ├── InventoryService/ │ │ │ ├── IInventoryService.cs │ │ │ ├── InventoryItemInstance.cs │ │ │ └── InventoryService.cs │ │ ├── ItemGenerationService/ │ │ │ ├── IItemGenerationService.cs │ │ │ ├── Item/ │ │ │ │ ├── BoxInstance.cs │ │ │ │ ├── IItemInstance.cs │ │ │ │ ├── Item.cs │ │ │ │ ├── ItemInstance.cs │ │ │ │ ├── SpecialistInstance.cs │ │ │ │ ├── UsableInstance.cs │ │ │ │ └── WearableInstance.cs │ │ │ └── ItemGenerationService.cs │ │ ├── ItemStorage/ │ │ │ ├── ISlotBasedStorage.cs │ │ │ ├── ISlotItem.cs │ │ │ └── SlotStorageHelper.cs │ │ ├── LoginService/ │ │ │ ├── ILoginService.cs │ │ │ └── LoginService.cs │ │ ├── MailService/ │ │ │ ├── Gift.cs │ │ │ ├── GiftHelper.cs │ │ │ ├── IMailService.cs │ │ │ ├── IParcelRegistry.cs │ │ │ ├── MailService.cs │ │ │ └── ParcelRegistry.cs │ │ ├── MapChangeService/ │ │ │ ├── IMapChangeService.cs │ │ │ └── MapChangeService.cs │ │ ├── MapInstanceAccessService/ │ │ │ ├── IMapInstanceAccessService.cs │ │ │ └── MapInstanceAccessService.cs │ │ ├── MapInstanceGenerationService/ │ │ │ ├── IMapInstanceGenerationService.cs │ │ │ ├── IMapInstanceRegistry.cs │ │ │ ├── MapInstance.cs │ │ │ ├── MapInstanceGenerationService.cs │ │ │ └── MapInstanceRegistry.cs │ │ ├── MapItemGenerationService/ │ │ │ ├── IMapItemGenerationService.cs │ │ │ └── MapItemGenerationService.cs │ │ ├── MinilandService/ │ │ │ ├── IMinilandRegistry.cs │ │ │ ├── IMinilandService.cs │ │ │ ├── MapDesignObject.cs │ │ │ ├── Miniland.cs │ │ │ ├── MinilandHelper.cs │ │ │ ├── MinilandRegistry.cs │ │ │ └── MinilandService.cs │ │ ├── PacketHandlerService/ │ │ │ ├── IPacketHandlerRegistry.cs │ │ │ └── PacketHandlerRegistry.cs │ │ ├── PathfindingService/ │ │ │ ├── IPathfindingService.cs │ │ │ └── PathfindingService.cs │ │ ├── QuestService/ │ │ │ ├── Handlers/ │ │ │ │ ├── GoToQuestHandler.cs │ │ │ │ ├── HuntQuestHandler.cs │ │ │ │ ├── KillQuestHandlerBase.cs │ │ │ │ └── NumberOfKillQuestHandler.cs │ │ │ ├── IQuestService.cs │ │ │ ├── IQuestTypeHandler.cs │ │ │ ├── Quest.cs │ │ │ └── QuestService.cs │ │ ├── SaveService/ │ │ │ ├── ISaveService.cs │ │ │ └── SaveService.cs │ │ ├── ShopService/ │ │ │ ├── IShopRegistry.cs │ │ │ ├── Shop.cs │ │ │ ├── ShopItem.cs │ │ │ └── ShopRegistry.cs │ │ ├── SkillService/ │ │ │ ├── ISkillService.cs │ │ │ └── SkillService.cs │ │ ├── SpeedCalculationService/ │ │ │ ├── ISpeedCalculationService.cs │ │ │ └── SpeedCalculationService.cs │ │ ├── TransformationService/ │ │ │ ├── ITransformationService.cs │ │ │ └── TransformationService.cs │ │ ├── UpgradeService/ │ │ │ ├── EquipmentUpgradeOperationBase.cs │ │ │ ├── IRandomNumberSource.cs │ │ │ ├── IUpgradeOperation.cs │ │ │ ├── RarifyOperation.cs │ │ │ ├── RarifyOperationBase.cs │ │ │ ├── SumUpgradeOperation.cs │ │ │ ├── UpgradeContext.cs │ │ │ ├── UpgradeItemOperation.cs │ │ │ ├── UpgradeOperation.cs │ │ │ └── UpgradeOutcome.cs │ │ └── WarehouseService/ │ │ ├── IWarehouseService.cs │ │ ├── WarehouseItem.cs │ │ └── WarehouseService.cs │ ├── NosCore.LoginServer/ │ │ ├── LoginServer.cs │ │ ├── LoginServerBootstrap.cs │ │ └── NosCore.LoginServer.csproj │ ├── NosCore.MasterServer/ │ │ ├── MasterConfiguration.cs │ │ ├── MasterServer.cs │ │ ├── MasterServerBootstrap.cs │ │ └── NosCore.MasterServer.csproj │ ├── NosCore.PacketHandlers/ │ │ ├── Battle/ │ │ │ ├── RevivalPacketHandler.cs │ │ │ └── UseSkillPacketHandler.cs │ │ ├── Bazaar/ │ │ │ ├── CBListPacketHandler.cs │ │ │ ├── CBuyPacketHandler.cs │ │ │ ├── CModPacketHandler.cs │ │ │ ├── CRegPacketHandler.cs │ │ │ ├── CSListPacketHandler.cs │ │ │ ├── CScalcPacketHandler.cs │ │ │ └── CSkillPacketHandler.cs │ │ ├── CharacterScreen/ │ │ │ ├── CharNewJobPacketHandler.cs │ │ │ ├── CharNewPacketHandler.cs │ │ │ ├── CharRenPacketHandler.cs │ │ │ ├── CharacterDeletePacketHandler.cs │ │ │ ├── DacPacketHandler.cs │ │ │ ├── EntryPointPacketHandler.cs │ │ │ └── SelectPacketHandler.cs │ │ ├── Chat/ │ │ │ ├── BtkPacketHandler.cs │ │ │ ├── ClientSayPacketHandler.cs │ │ │ └── WhisperPacketHandler.cs │ │ ├── Command/ │ │ │ ├── ChangeChannelPacketHandler.cs │ │ │ ├── ChangeClassPacketHandler.cs │ │ │ ├── ChangeGenderPacketHandler.cs │ │ │ ├── CreateItemPacketHandler.cs │ │ │ ├── EffectCommandPacketHandler.cs │ │ │ ├── GiftPacketHandler.cs │ │ │ ├── HelpPacketHandler.cs │ │ │ ├── InvisibleCommandPacketHandler.cs │ │ │ ├── KickPacketHandler.cs │ │ │ ├── KillCommandPacketHandler.cs │ │ │ ├── PositionPacketHandler.cs │ │ │ ├── SetBankGoldPacketHandler.cs │ │ │ ├── SetGoldCommandPacketHandler.cs │ │ │ ├── SetHairColorPacketHandler.cs │ │ │ ├── SetHairStylePacketHandler.cs │ │ │ ├── SetHeroLevelCommandPacketHandler.cs │ │ │ ├── SetHeroXpPacketHandler.cs │ │ │ ├── SetJobLevelCommandPacketHandler.cs │ │ │ ├── SetJobLevelXpPacketHandler.cs │ │ │ ├── SetLevelCommandPacketHandler.cs │ │ │ ├── SetMaintenancePacketHandler.cs │ │ │ ├── SetReputationPacketHandler.cs │ │ │ ├── SetSpAdditionPointPacketHandler.cs │ │ │ ├── SetSpPointPacketHandler.cs │ │ │ ├── ShoutHerePacketHandler.cs │ │ │ ├── ShoutPacketHandler.cs │ │ │ ├── SizePacketHandler.cs │ │ │ ├── SpeedPacketHandler.cs │ │ │ └── TeleportPacketHandler.cs │ │ ├── Exchange/ │ │ │ ├── ExcListPacketHandler.cs │ │ │ └── ExchangeRequestPacketHandler.cs │ │ ├── Friend/ │ │ │ ├── BlDelPacketHandler.cs │ │ │ ├── BlInsPacketHandler.cs │ │ │ ├── BlPacketHandler.cs │ │ │ ├── FdelPacketHandler.cs │ │ │ ├── FinsPacketHandler.cs │ │ │ └── FlPacketHandler.cs │ │ ├── Game/ │ │ │ ├── GameStartPacketHandler.cs │ │ │ ├── GuriPacketHandler.cs │ │ │ ├── NcifPacketHandler.cs │ │ │ ├── NpinfoPacketHandler.cs │ │ │ ├── PulsePacketHandler.cs │ │ │ ├── QSetPacketHandler.cs │ │ │ ├── ReqInfoPacketHandler.cs │ │ │ ├── ScpCtsPacketHandler.cs │ │ │ └── TitEqPacketHandler.cs │ │ ├── Group/ │ │ │ ├── GroupTalkPacketHandler.cs │ │ │ ├── PjoinPacketHandler.cs │ │ │ └── PleavePacketHandler.cs │ │ ├── Inventory/ │ │ │ ├── BiPacketHandler.cs │ │ │ ├── GetPacketHandler.cs │ │ │ ├── MvePacketHandler.cs │ │ │ ├── MviPacketHandler.cs │ │ │ ├── PutPacketHandler.cs │ │ │ ├── RemovePacketHandler.cs │ │ │ ├── SpTransformPacketHandler.cs │ │ │ ├── UseItemPacketHandler.cs │ │ │ └── WearPacketHandler.cs │ │ ├── Login/ │ │ │ ├── NoS0575PacketHandler.cs │ │ │ └── NoS0577PacketHandler.cs │ │ ├── Miniland/ │ │ │ ├── AddobjPacketHandler.cs │ │ │ ├── MJoinPacketHandler.cs │ │ │ ├── MinilandObjects/ │ │ │ │ ├── MgPacketHandler.cs │ │ │ │ └── UseobjPacketHandler.cs │ │ │ ├── MlobjPacketHandler.cs │ │ │ └── RmvobjPacketHandler.cs │ │ ├── Movement/ │ │ │ ├── ClientDirPacketHandler.cs │ │ │ ├── PreqPacketHandler.cs │ │ │ ├── SitPacketHandler.cs │ │ │ └── WalkPacketHandler.cs │ │ ├── NoAction/ │ │ │ ├── BpClosePacketHandler.cs │ │ │ ├── CClosePacketHandler.cs │ │ │ ├── LbsPacketHandler.cs │ │ │ ├── SnapPacketHandler.cs │ │ │ ├── SortOpenPacketHandler.cs │ │ │ └── ZeroPacketHandler.cs │ │ ├── NosCore.PacketHandlers.csproj │ │ ├── Parcel/ │ │ │ ├── PclPacketHandler.cs │ │ │ └── PstClientPacketHandler.cs │ │ ├── Quest/ │ │ │ ├── QTPacketHandler.cs │ │ │ └── ScriptPacketHandler.cs │ │ ├── Shops/ │ │ │ ├── BuyPacketHandler.cs │ │ │ ├── MShopPacketHandler.cs │ │ │ ├── NrunPacketHandler.cs │ │ │ ├── RequestNpcPacketHandler.cs │ │ │ ├── SellPacketHandler.cs │ │ │ └── ShoppingPacketHandler.cs │ │ ├── Upgrades/ │ │ │ └── UpgradePacketHandler.cs │ │ └── Warehouse/ │ │ ├── DepositPacketHandler.cs │ │ ├── FDepositPacketHandler.cs │ │ ├── FReposPacketHandler.cs │ │ ├── FStashEndPacketHandler.cs │ │ ├── FWithdrawPacketHandler.cs │ │ ├── ReposPacketHandler.cs │ │ ├── StashEndPacketHandler.cs │ │ └── WithdrawPacketHandler.cs │ ├── NosCore.Parser/ │ │ ├── ImportFactory.cs │ │ ├── NosCore.Parser.csproj │ │ ├── Parser.cs │ │ ├── ParserBootstrap.cs │ │ ├── ParserCliOptions.cs │ │ ├── ParserConfiguration.cs │ │ └── Parsers/ │ │ ├── ActParser.cs │ │ ├── CardParser.cs │ │ ├── DropParser.cs │ │ ├── Generic/ │ │ │ ├── DatDocumentationGenerator.cs │ │ │ ├── DatFieldMetadata.cs │ │ │ ├── FluentParserBuilder.cs │ │ │ └── GenericParser.cs │ │ ├── I18NParser.cs │ │ ├── ItemParser.cs │ │ ├── MapMonsterParser.cs │ │ ├── MapNpcParser.cs │ │ ├── MapParser.cs │ │ ├── MapTypeMapParser.cs │ │ ├── MapTypeParser.cs │ │ ├── NpcMonsterParser.cs │ │ ├── NpcTalkParser.cs │ │ ├── PortalParser.cs │ │ ├── QuestParser.cs │ │ ├── QuestPrizeParser.cs │ │ ├── RespawnMapTypeParser.cs │ │ ├── ScriptParser.cs │ │ ├── ShopItemParser.cs │ │ ├── ShopParser.cs │ │ └── SkillParser.cs │ ├── NosCore.WebApi/ │ │ ├── ApiConfiguration.cs │ │ ├── Controllers/ │ │ │ ├── AuthController.cs │ │ │ └── NosmallController.cs │ │ ├── NosCore.WebApi.csproj │ │ └── WebApiBootstrap.cs │ └── NosCore.WorldServer/ │ ├── NosCore.WorldServer.csproj │ ├── WorldServer.cs │ └── WorldServerBootstrap.cs ├── test/ │ ├── NosCore.Core.Tests/ │ │ ├── LogLanguageTests.cs │ │ └── NosCore.Core.Tests.csproj │ ├── NosCore.Database.Tests/ │ │ ├── DatabaseTests.cs │ │ └── NosCore.Database.Tests.csproj │ ├── NosCore.GameObject.Tests/ │ │ ├── BazaarTests.cs │ │ ├── GroupTests.cs │ │ ├── Messaging/ │ │ │ ├── Handlers/ │ │ │ │ ├── Battle/ │ │ │ │ │ ├── MonsterAggroHandlerTests.cs │ │ │ │ │ ├── MonsterRespawnHandlerTests.cs │ │ │ │ │ ├── PlayerRevivalHandlerTests.cs │ │ │ │ │ └── RewardDistributionHandlerTests.cs │ │ │ │ ├── Guri/ │ │ │ │ │ ├── EmoticonHandlerTests.cs │ │ │ │ │ └── MfaHandlerTests.cs │ │ │ │ ├── Map/ │ │ │ │ │ └── MinilandEntranceHandlerTests.cs │ │ │ │ ├── Nrun/ │ │ │ │ │ ├── SetPlaceOfRevivalHandlerTests.cs │ │ │ │ │ ├── TeleporterHandlerTests.cs │ │ │ │ │ └── UpgradeItemHandlerTests.cs │ │ │ │ └── UseItem/ │ │ │ │ ├── BackPackHandlerTests.cs │ │ │ │ ├── BazaarMedalsHandlerTests.cs │ │ │ │ ├── BoxEffectHandlerTests.cs │ │ │ │ ├── ChangeGenderHandlerTests.cs │ │ │ │ ├── HairDieHandlerTests.cs │ │ │ │ ├── MinilandBellHandlerTests.cs │ │ │ │ ├── PetBasketHandlerTests.cs │ │ │ │ ├── SealedTarotCardHandlerTests.cs │ │ │ │ ├── SpRechargerHandlerTests.cs │ │ │ │ ├── SpeakerHandlerTests.cs │ │ │ │ ├── TitleHandlerTests.cs │ │ │ │ └── WearHandlerTests.cs │ │ │ └── WolverineHandlerResolutionTests.cs │ │ ├── NosCore.GameObject.Tests.csproj │ │ ├── Services/ │ │ │ ├── AuthService/ │ │ │ │ └── AuthCodeServiceTests.cs │ │ │ ├── BattleService/ │ │ │ │ ├── AggroServiceTests.cs │ │ │ │ ├── BattleServiceTests.cs │ │ │ │ ├── BuffServiceTests.cs │ │ │ │ ├── DamageCalculatorTests.cs │ │ │ │ ├── HitQueueTests.cs │ │ │ │ ├── MonsterAiTests.cs │ │ │ │ ├── NpcCombatCatalogTests.cs │ │ │ │ └── SkillResolverTests.cs │ │ │ ├── BazaarService/ │ │ │ │ └── BazaarRegistryTests.cs │ │ │ ├── BlacklistService/ │ │ │ │ └── BlacklistServiceTests.cs │ │ │ ├── BroadcastService/ │ │ │ │ └── SessionRegistryTests.cs │ │ │ ├── ChannelCommunicationService/ │ │ │ │ └── Handlers/ │ │ │ │ ├── DeleteMailDataMessageHandlerTests.cs │ │ │ │ ├── DisconnectDataMessageHandlerTests.cs │ │ │ │ ├── MailDataMessageHandlerTests.cs │ │ │ │ ├── PostedPacketMessageHandlerTests.cs │ │ │ │ └── StatDataMessageHandlerTests.cs │ │ │ ├── ChannelService/ │ │ │ │ └── ChannelServiceTests.cs │ │ │ ├── CharacterService/ │ │ │ │ └── CharacterInitializationServiceTests.cs │ │ │ ├── ExchangeService/ │ │ │ │ ├── ExchangeRequestRegistryTests.cs │ │ │ │ └── ExchangeServiceTests.cs │ │ │ ├── FriendService/ │ │ │ │ ├── FriendRequestRegistryTests.cs │ │ │ │ └── FriendServiceTests.cs │ │ │ ├── GroupService/ │ │ │ │ └── GroupRegistryTests.cs │ │ │ ├── InventoryService/ │ │ │ │ └── InventoryServiceTests.cs │ │ │ ├── LoginService/ │ │ │ │ └── LoginServiceTests.cs │ │ │ ├── MailService/ │ │ │ │ └── MailServiceTests.cs │ │ │ ├── MapChangeService/ │ │ │ │ └── MapChangeServiceTests.cs │ │ │ ├── MapInstanceAccessService/ │ │ │ │ └── MapInstanceAccessServiceTests.cs │ │ │ ├── MapInstanceGenerationService/ │ │ │ │ └── MapInstanceRegistryTests.cs │ │ │ ├── MinilandService/ │ │ │ │ ├── MinilandRegistryTests.cs │ │ │ │ └── MinilandServiceTests.cs │ │ │ ├── PacketHandlerService/ │ │ │ │ └── PacketHandlerRegistryTests.cs │ │ │ ├── PathfindingService/ │ │ │ │ └── PathfindingServiceTests.cs │ │ │ ├── QuestService/ │ │ │ │ └── QuestServiceTests.cs │ │ │ ├── SaveService/ │ │ │ │ └── SaveServiceTests.cs │ │ │ ├── ShopService/ │ │ │ │ └── ShopRegistryTests.cs │ │ │ ├── SkillService/ │ │ │ │ └── SkillServiceTests.cs │ │ │ ├── SpeedCalculationService/ │ │ │ │ └── SpeedCalculationServiceTests.cs │ │ │ ├── TransformationService/ │ │ │ │ └── TransformationServiceTests.cs │ │ │ ├── UpgradeService/ │ │ │ │ ├── EquipmentUpgradeOperationTests.cs │ │ │ │ ├── RarifyOperationTests.cs │ │ │ │ └── SumUpgradeOperationTests.cs │ │ │ └── WarehouseService/ │ │ │ └── WarehouseServiceTests.cs │ │ ├── SetupAssemblyInitializer.cs │ │ └── ShopTests.cs │ ├── NosCore.PacketHandlers.Tests/ │ │ ├── Battle/ │ │ │ ├── RevivalPacketHandlerTests.cs │ │ │ └── UseSkillPacketHandlerTests.cs │ │ ├── Bazaar/ │ │ │ ├── CBListPacketHandlerTests.cs │ │ │ ├── CBuyPacketHandlerTests.cs │ │ │ ├── CModPacketHandlerTests.cs │ │ │ ├── CRegPacketHandlerTests.cs │ │ │ ├── CSListPacketHandlerTests.cs │ │ │ ├── CScalcPacketHandlerTests.cs │ │ │ └── CSkillPacketHandlerTests.cs │ │ ├── CharacterScreen/ │ │ │ ├── CharNewJobPacketHandlerTests.cs │ │ │ ├── CharNewPacketHandlerTests.cs │ │ │ ├── CharRenPacketHandlerTests.cs │ │ │ ├── CharacterDeletePacketHandlerTests.cs │ │ │ ├── DacPacketHandlerTests.cs │ │ │ ├── EntryPointPacketHandlerTests.cs │ │ │ └── SelectPacketHandlerTests.cs │ │ ├── Chat/ │ │ │ ├── BtkPacketHandlerTests.cs │ │ │ ├── ClientSayPacketHandlerTests.cs │ │ │ └── WhisperPacketHandlerTests.cs │ │ ├── Command/ │ │ │ ├── ChangeChannelPacketHandlerTests.cs │ │ │ ├── ChangeClassPacketHandlerTests.cs │ │ │ ├── CreateItemPacketHandlerTests.cs │ │ │ ├── EffectCommandPacketHandlerTests.cs │ │ │ ├── GiftPacketHandlerTests.cs │ │ │ ├── HelpPacketHandlerTests.cs │ │ │ ├── InvisibleCommandPacketHandlerTests.cs │ │ │ ├── KickPacketHandlerTests.cs │ │ │ ├── PositionPacketHandlerTests.cs │ │ │ ├── SetGoldCommandPacketHandlerTests.cs │ │ │ ├── SetHeroLevelCommandPacketHandlerTests.cs │ │ │ ├── SetJobLevelCommandPacketHandlerTests.cs │ │ │ ├── SetLevelCommandPacketHandlerTests.cs │ │ │ ├── SetMaintenancePacketHandlerTests.cs │ │ │ ├── SetReputationPacketHandlerTests.cs │ │ │ ├── ShoutPacketHandlerTests.cs │ │ │ ├── SizePacketHandlerTests.cs │ │ │ ├── SpeedPacketHandlerTests.cs │ │ │ └── TeleportPacketHandlerTests.cs │ │ ├── Exchange/ │ │ │ ├── ExcListPacketHandlerTests.cs │ │ │ └── ExchangeRequestPacketHandlerTests.cs │ │ ├── Friend/ │ │ │ ├── BlDelPacketHandlerTests.cs │ │ │ ├── BlInsPacketHandlerTests.cs │ │ │ ├── BlPacketHandlerTests.cs │ │ │ ├── FinsPacketHandlerTests.cs │ │ │ ├── FlPacketHandlerTests.cs │ │ │ └── fDelPacketHandlerTests.cs │ │ ├── Game/ │ │ │ ├── GameStartPacketHandlerTests.cs │ │ │ ├── GuriPacketHandlerTests.cs │ │ │ ├── NcifPacketHandlerTests.cs │ │ │ ├── PulsePacketHandlerTests.cs │ │ │ ├── QsetPacketHandlerTests.cs │ │ │ ├── ReqInfoPacketHandlerTests.cs │ │ │ └── TitEqPacketHandlerTests.cs │ │ ├── Group/ │ │ │ ├── GroupTalkPacketHandlerTests.cs │ │ │ ├── PJoinPacketHandlerTests.cs │ │ │ └── PleavePacketHandlerTests.cs │ │ ├── Inventory/ │ │ │ ├── BiPacketHandlerTests.cs │ │ │ ├── MvePacketHandlerTests.cs │ │ │ ├── MviPacketHandlerTests.cs │ │ │ ├── PutPacketHandlerTests.cs │ │ │ ├── RemovePacketHandlerTests.cs │ │ │ └── SpTransformPacketHandlerTests.cs │ │ ├── Login/ │ │ │ ├── NoS0575PacketHandlerTests.cs │ │ │ └── NoS0577PacketHandlerTests.cs │ │ ├── Miniland/ │ │ │ ├── AddobjPacketHandlerTests.cs │ │ │ ├── MJoinPacketHandlerTests.cs │ │ │ ├── MinilandObjects/ │ │ │ │ ├── MgPacketHandlerTests.cs │ │ │ │ └── UseobjPacketHandlerTests.cs │ │ │ ├── MlEditPacketHandlerTests.cs │ │ │ └── RmvobjPacketHandlerTests.cs │ │ ├── Movement/ │ │ │ ├── ClientDirPacketHandlerTests.cs │ │ │ ├── PreqPacketHandlerTests.cs │ │ │ ├── SitPacketHandlerTests.cs │ │ │ └── WalkPacketHandlerTests.cs │ │ ├── NosCore.PacketHandlers.Tests.csproj │ │ ├── Parcel/ │ │ │ ├── PclPacketHandlerTests.cs │ │ │ └── PstClientPacketHandlerTests.cs │ │ ├── Quest/ │ │ │ ├── QtPacketHandlerTests.cs │ │ │ └── ScriptPacketHandlerTests.cs │ │ ├── SetupAssemblyInitializer.cs │ │ ├── Shops/ │ │ │ ├── BuyPacketHandlerTests.cs │ │ │ ├── MShopPacketHandlerTests.cs │ │ │ ├── NrunPacketHandlerTests.cs │ │ │ ├── RequestNpcPacketHandlerTests.cs │ │ │ ├── SellPacketHandlerTests.cs │ │ │ └── ShoppingPacketHandlerTests.cs │ │ ├── Upgrades/ │ │ │ └── UpgradePacketHandlerTests.cs │ │ └── Warehouse/ │ │ ├── DepositPacketHandlerTests.cs │ │ ├── FDepositPacketHandlerTests.cs │ │ ├── FReposPacketHandlerTests.cs │ │ ├── FStashEndPacketHandlerTests.cs │ │ ├── FWithdrawPacketHandlerTests.cs │ │ ├── ReposPacketHandlerTests.cs │ │ ├── StashEndPacketHandlerTests.cs │ │ ├── WarehousePacketHandlerTests.cs │ │ └── WithdrawPacketHandlerTests.cs │ ├── NosCore.Parser.Tests/ │ │ ├── ActParserTests.cs │ │ ├── CardParserTests.cs │ │ ├── DatDocumentationGeneratorTests.cs │ │ ├── DatDocumentationSnapshotTests.cs │ │ ├── DropParserTests.cs │ │ ├── FluentParserBuilderTests.cs │ │ ├── GenericParserTests.cs │ │ ├── ItemParserTests.cs │ │ ├── MapMonsterParserTests.cs │ │ ├── MapNpcParserTests.cs │ │ ├── MapParserTests.cs │ │ ├── NosCore.Parser.Tests.csproj │ │ ├── NpcMonsterParserTests.cs │ │ ├── PortalParserTests.cs │ │ ├── QuestParserTests.cs │ │ ├── QuestPrizeParserTests.cs │ │ ├── ShopParserTests.cs │ │ └── SkillParserTests.cs │ ├── NosCore.Tests.Shared/ │ │ ├── AutoFixture/ │ │ │ └── NosCoreFixture.cs │ │ ├── BDD/ │ │ │ ├── SpecBase.cs │ │ │ └── Steps/ │ │ │ ├── InventorySteps.cs │ │ │ ├── PacketSteps.cs │ │ │ └── SessionSteps.cs │ │ ├── NosCore.Tests.Shared.csproj │ │ ├── TestHelpers.cs │ │ └── tools/ │ │ └── coverage.opencover.xml │ └── NosCore.WebApi.Tests/ │ ├── ApiTests/ │ │ └── AuthControllerTests.cs │ ├── NosCore.WebApi.Tests.csproj │ └── SetupAssemblyInitializer.cs └── tools/ ├── NosCore.DtoGenerator/ │ ├── DtoGenerator.cs │ └── NosCore.DtoGenerator.csproj └── NosCore.EcsGenerator/ ├── ComponentBundleGenerator.cs └── NosCore.EcsGenerator.csproj