├── .gitmodules
├── CODEOWNERS
├── docs
├── articles
│ ├── introduction.md
│ ├── getting-started.md
│ ├── currencies
│ │ └── toc.yml
│ ├── system
│ │ ├── avatar
│ │ │ └── toc.yml
│ │ └── toc.yml
│ └── toc.yml
├── index.md
├── filter.yml
├── api
│ └── .gitignore
├── toc.yml
├── contributing
│ ├── documentation
│ │ ├── toc.yml
│ │ └── structure.md
│ └── toc.yml
└── .gitignore
├── integrations
├── python
│ ├── .python-version
│ ├── src
│ │ └── lib9c
│ │ │ └── __init__.py
│ ├── .gitignore
│ ├── requirements.lock
│ ├── requirements-dev.lock
│ └── README.md
└── javascript
│ ├── @planetarium
│ ├── .gitignore
│ ├── 9c-headless-provider
│ │ ├── tests
│ │ │ └── .gitkeep
│ │ ├── .gitignore
│ │ ├── vite.config.ts
│ │ ├── tsup.config.ts
│ │ ├── graphql
│ │ │ └── headless
│ │ │ │ ├── codegen.yml
│ │ │ │ └── api.graphql
│ │ ├── jsr.json
│ │ └── biome.json
│ ├── .npmrc
│ ├── lib9c
│ │ ├── docs
│ │ │ ├── .gitignore
│ │ │ └── ko
│ │ │ │ └── index.md
│ │ ├── vite.config.ts
│ │ ├── tsup.config.ts
│ │ ├── jsr.json
│ │ ├── tests
│ │ │ └── actions
│ │ │ │ ├── make_guild.test.ts
│ │ │ │ └── stake.test.ts
│ │ ├── cli
│ │ │ └── main.ts
│ │ └── src
│ │ │ └── models
│ │ │ └── networks.ts
│ ├── pnpm-workspace.yaml
│ ├── .editorconfig
│ └── package.json
│ └── .vscode
│ └── settings.json
├── .Lib9c.Miner.Tests
└── Usings.cs
├── .Lib9c.Benchmarks
└── .gitignore
├── .vscode
└── settings.json
├── .Lib9c.ActionEvaluatorCommonComponents.Tests
└── Usings.cs
├── Lib9c
├── TableCSV
│ ├── GrandFinaleScheduleSheet.csv
│ ├── BuffLinkSheet.csv
│ ├── CreateAvatarItemSheet.csv
│ ├── CreateAvatarFavSheet.csv
│ ├── CrystalFluctuationSheet.csv
│ ├── EventDungeonSheet.csv.meta
│ ├── EventScheduleSheet.csv.meta
│ ├── ClaimableGiftsSheet.csv.meta
│ ├── CrystalHammerPointSheet.csv.meta
│ ├── CrystalRandomBuffSheet.csv.meta
│ ├── EventDungeonStageSheet.csv.meta
│ ├── CrystalStageBuffGachaSheet.csv.meta
│ ├── EventDungeonStageWaveSheet.csv.meta
│ ├── EventConsumableItemRecipeSheet.csv.meta
│ ├── StakeActionPointCoefficientSheet.csv.meta
│ ├── ItemGradeQuestSheet.csv
│ ├── SwapRateSheet.csv
│ ├── MonsterQuestSheet.csv
│ ├── AdventureBossSheet.csv
│ ├── MonsterCollectionSheet.csv
│ ├── CrystalMonsterCollectionMultiplierSheet.csv
│ ├── InfiniteTowerConditionSheet.csv
│ ├── RuneLevelBonusSheet.csv
│ ├── ItemTypeCollectQuestSheet.csv
│ ├── StakeRegularFixedRewardSheet_V1.csv
│ ├── UnlockCombinationSlotCostSheet.csv
│ ├── InfiniteTowerScheduleSheet.csv
│ ├── GoldQuestSheet.csv
│ ├── StakeActionPointCoefficientSheet.csv
│ ├── PetSheet.csv.meta
│ ├── ArenaSheet.csv.meta
│ ├── BuffLinkSheet.csv.meta
│ ├── BuffSheet.csv.meta
│ ├── PetCostSheet.csv.meta
│ ├── RuneCostSheet.csv.meta
│ ├── RuneListSheet.csv.meta
│ ├── RuneSheet.csv.meta
│ ├── SkillSheet.csv.meta
│ ├── StageSheet.csv.meta
│ ├── StakePolicySheet.csv
│ ├── StatBuffSheet.csv.meta
│ ├── SummonSheet.csv.meta
│ ├── SwapRateSheet.csv.meta
│ ├── WorldSheet.csv.meta
│ ├── ActionBuffSheet.csv.meta
│ ├── AdventureBossSheet.csv.meta
│ ├── BuffLimitSheet.csv.meta
│ ├── CharacterSheet.csv.meta
│ ├── CollectQuestSheet.csv.meta
│ ├── CollectionSheet.csv.meta
│ ├── CostumeItemSheet.csv.meta
│ ├── CostumeStatSheet.csv.meta
│ ├── CostumeSummonSheet.csv.meta
│ ├── CustomEquipmentCraftRecipeSheet.csv
│ ├── EnemySkillSheet.csv.meta
│ ├── EquipmentItemSheet.csv.meta
│ ├── GameConfigSheet.csv.meta
│ ├── GeneralQuestSheet.csv.meta
│ ├── GoldQuestSheet.csv.meta
│ ├── MaterialItemSheet.csv.meta
│ ├── MimisbrunnrSheet.csv.meta
│ ├── MonsterQuestSheet.csv.meta
│ ├── PatrolRewardSheet.csv.meta
│ ├── PetOptionSheet.csv.meta
│ ├── QuestRewardSheet.csv.meta
│ ├── RedeemRewardSheet.csv.meta
│ ├── RuneOptionSheet.csv.meta
│ ├── RuneSummonSheet.csv.meta
│ ├── RuneWeightSheet.csv.meta
│ ├── SkillBuffSheet.csv.meta
│ ├── StageDialogSheet.csv.meta
│ ├── StageWaveSheet.csv.meta
│ ├── StakePolicySheet.csv.meta
│ ├── SynthesizeSheet.csv.meta
│ ├── TradeQuestSheet.csv.meta
│ ├── WorldBossListSheet.csv.meta
│ ├── WorldQuestSheet.csv.meta
│ ├── WorldUnlockSheet.csv.meta
│ ├── AdventureBossFloorSheet.csv.meta
│ ├── CharacterLevelSheet.csv.meta
│ ├── CombinationQuestSheet.csv.meta
│ ├── ConsumableItemSheet.csv.meta
│ ├── CreateAvatarFavSheet.csv.meta
│ ├── CreateAvatarItemSheet.csv.meta
│ ├── CrystalFluctuationSheet.csv.meta
│ ├── EnhancementCostSheet.csv.meta
│ ├── EnhancementCostSheetV2.csv.meta
│ ├── EnhancementCostSheetV3.csv.meta
│ ├── EquipmentSummonSheet.csv.meta
│ ├── InfiniteTowerFloorSheet.csv.meta
│ ├── ItemConfigForGradeSheet.csv.meta
│ ├── ItemGradeQuestSheet.csv.meta
│ ├── ItemRequirementSheet.csv.meta
│ ├── MonsterCollectionSheet.csv.meta
│ ├── QuestItemRewardSheet.csv.meta
│ ├── RedeemCodeListSheet.csv.meta
│ ├── RuneLevelBonusSheet.csv.meta
│ ├── SkillActionBuffSheet.csv.meta
│ ├── StakeRegularFixedRewardSheet.csv
│ ├── StakeRegularFixedRewardSheet_V2.csv
│ ├── StakeRegularRewardSheet.csv.meta
│ ├── SweepRequiredCPSheet.csv.meta
│ ├── SynthesizeWeightSheet.csv.meta
│ ├── WeeklyArenaRewardSheet.csv.meta
│ ├── WorldBossCharacterSheet.csv.meta
│ ├── WorldBossGlobalHpSheet.csv.meta
│ ├── AdventureBossFloorPointSheet.csv.meta
│ ├── AdventureBossFloorWaveSheet.csv.meta
│ ├── ConsumableItemRecipeSheet.csv.meta
│ ├── CrystalMaterialCostSheet.csv.meta
│ ├── EquipmentItemOptionSheet.csv.meta
│ ├── EquipmentItemRecipeSheet.csv.meta
│ ├── EquipmentItemSetEffectSheet.csv.meta
│ ├── EquipmentItemSubRecipeSheet.csv.meta
│ ├── EventMaterialItemRecipeSheet.csv.meta
│ ├── GrandFinaleParticipantsSheet.csv.meta
│ ├── GrandFinaleScheduleSheet.csv.meta
│ ├── InfiniteTowerConditionSheet.csv.meta
│ ├── InfiniteTowerFloorWaveSheet.csv.meta
│ ├── InfiniteTowerScheduleSheet.csv.meta
│ ├── ItemEnhancementQuestSheet.csv.meta
│ ├── ItemTypeCollectQuestSheet.csv.meta
│ ├── LoadIntoMyGaragesCostSheet.csv.meta
│ ├── MonsterCollectionRewardSheet.csv.meta
│ ├── StakeAchievementRewardSheet.csv.meta
│ ├── StakeRegularFixedRewardSheet.csv.meta
│ ├── StakeRegularRewardSheet_V1.csv.meta
│ ├── StakeRegularRewardSheet_V10.csv.meta
│ ├── StakeRegularRewardSheet_V2.csv.meta
│ ├── StakeRegularRewardSheet_V3.csv.meta
│ ├── StakeRegularRewardSheet_V4.csv.meta
│ ├── StakeRegularRewardSheet_V5.csv.meta
│ ├── StakeRegularRewardSheet_V6.csv.meta
│ ├── StakeRegularRewardSheet_V7.csv.meta
│ ├── StakeRegularRewardSheet_V8.csv.meta
│ ├── StakeRegularRewardSheet_V9.csv.meta
│ ├── TradeQuestSheet.csv
│ ├── WorldBossActionPatternSheet.csv.meta
│ ├── WorldBossBattleRewardSheet.csv.meta
│ ├── WorldBossKillRewardSheet.csv.meta
│ ├── WorldBossRankRewardSheet.csv.meta
│ ├── WorldBossRankingRewardSheet.csv.meta
│ ├── AdventureBossNcgRewardRatioSheet.csv.meta
│ ├── AdventureBossUnlockFloorCostSheet.csv.meta
│ ├── AdventureBossWantedRewardSheet.csv.meta
│ ├── CombinationEquipmentQuestSheet.csv.meta
│ ├── CrystalEquipmentGrindingSheet.csv.meta
│ ├── CustomEquipmentCraftIconSheet.csv.meta
│ ├── CustomEquipmentCraftOptionSheet.csv.meta
│ ├── CustomEquipmentCraftRecipeSheet.csv.meta
│ ├── CustomEquipmentCraftRecipeSkillSheet.csv.meta
│ ├── EquipmentItemSubRecipeSheetV2.csv.meta
│ ├── StakeRegularFixedRewardSheet_V1.csv.meta
│ ├── StakeRegularFixedRewardSheet_V2.csv.meta
│ ├── StakeRegularFixedRewardSheet_V3.csv.meta
│ ├── UnlockCombinationSlotCostSheet.csv.meta
│ ├── WorldBossContributionRewardSheet.csv.meta
│ ├── AdventureBossContributionRewardSheet.csv.meta
│ ├── AdventureBossFloorFirstRewardSheet.csv.meta
│ ├── CustomEquipmentCraftRelationshipSheet.csv.meta
│ ├── CrystalMonsterCollectionMultiplierSheet.csv.meta
│ ├── StakeRegularFixedRewardSheet_V3.csv
│ ├── GrandFinaleParticipantsSheet.csv
│ ├── AdventureBossContributionRewardSheet.csv
│ ├── WorldUnlockSheet.csv
│ ├── ItemEnhancementQuestSheet.csv
│ ├── StakeRegularRewardSheet_V1.csv
│ ├── ItemConfigForGradeSheet.csv
│ ├── WorldSheet.csv
│ ├── AdventureBossNcgRewardRatioSheet.csv
│ ├── MonsterCollectionRewardSheet.csv
│ ├── ClaimableGiftsSheet.csv
│ ├── SkillActionBuffSheet.csv
│ ├── AdventureBossUnlockFloorCostSheet.csv
│ ├── BuffLimitSheet.csv
│ ├── WorldBossRankRewardSheet.csv
│ ├── CollectQuestSheet.csv
│ ├── WorldBossBattleRewardSheet.csv
│ ├── WorldBossKillRewardSheet.csv
│ ├── PatrolRewardSheet.csv
│ ├── EventDungeonSheet.csv
│ ├── StakeRegularRewardSheet_V2.csv
│ ├── StakeAchievementRewardSheet.csv
│ ├── SynthesizeSheet.csv
│ ├── MimisbrunnrSheet.csv
│ └── WorldBossActionPatternSheet.csv
├── AssemblyInfo.cs
├── Model
│ ├── Item
│ │ ├── LockType.cs
│ │ ├── ITradableFungibleItem.cs
│ │ ├── ILock.cs
│ │ ├── IEquippableItem.cs
│ │ ├── IItem.cs
│ │ ├── ITradableItem.cs
│ │ ├── INonFungibleItem.cs
│ │ └── IFungibleItem.cs
│ ├── EnumType
│ │ ├── TradeType.cs
│ │ ├── RuneType.cs
│ │ ├── StatReferenceType.cs
│ │ ├── ArenaType.cs
│ │ ├── CraftType.cs
│ │ ├── RuneSlotType.cs
│ │ ├── RuneUsePlace.cs
│ │ └── Grade.cs
│ ├── Collection
│ │ ├── MaterialType.cs
│ │ ├── ICollectionMaterial.cs
│ │ └── CollectionFactory.cs
│ ├── State
│ │ ├── IState.cs
│ │ ├── ShopStateAlreadyContainsException.cs
│ │ └── FailedToUnregisterInShopStateException.cs
│ ├── Character
│ │ └── SizeType.cs
│ ├── Market
│ │ └── ProductType.cs
│ ├── Skill
│ │ ├── SkillType.cs
│ │ ├── SkillCustomField.cs
│ │ ├── ActionBuffType.cs
│ │ └── UnexpectedOperationException.cs
│ ├── Garages
│ │ ├── IGarage.cs
│ │ └── IFungibleItemGarage.cs
│ ├── Quest
│ │ └── QuestEventType.cs
│ ├── Pet
│ │ └── PetOptionType.cs
│ └── BattleStatus
│ │ ├── Dead.cs
│ │ ├── EventBase.cs
│ │ ├── RemoveBuffs.cs
│ │ ├── Arena
│ │ ├── ArenaDead.cs
│ │ ├── ArenaSpawnCharacter.cs
│ │ ├── ArenaEventBase.cs
│ │ └── ArenaRemoveBuffs.cs
│ │ ├── SpawnPlayer.cs
│ │ ├── SpawnEnemyPlayer.cs
│ │ └── GetExp.cs
├── TableData
│ ├── Summon
│ │ ├── RuneSummonSheet.cs
│ │ ├── CostumeSummonSheet.cs
│ │ └── EquipmentSummonSheet.cs
│ ├── ISheet.cs
│ ├── IStakeRewardRow.cs
│ ├── IStakeRewardSheet.cs
│ ├── IWorldBossRewardSheet.cs
│ ├── IWorldBossRewardRow.cs
│ ├── Quest
│ │ └── WorldQuestSheet.cs
│ └── Event
│ │ ├── EventDungeonSheet.cs
│ │ ├── EventDungeonStageSheet.cs
│ │ └── EventConsumableItemRecipeSheet.cs
├── Action
│ ├── IClaimStakeReward.cs
│ ├── ClaimStakeReward2.cs
│ ├── ClaimStakeReward8.cs
│ ├── Arena
│ │ └── ArenaProvider.cs
│ ├── Guild
│ │ └── GuildConfig.cs
│ ├── IClaimItems.cs
│ ├── ITransferAsset.cs
│ ├── ITransferAssets.cs
│ ├── IPurchaseInfo.cs
│ ├── IBuy5.cs
│ ├── NotEnoughStarException.cs
│ ├── PetIsLockedException.cs
│ ├── NotEnoughMedalException.cs
│ ├── InvalidLevelException.cs
│ ├── PlayCountIsZeroException.cs
│ ├── InvalidPriceException.cs
│ ├── AvatarIndexOutOfRangeException.cs
│ ├── NotEnoughHammerPointException.cs
│ ├── DuplicateCostumeException.cs
│ ├── DuplicateOrderIdException.cs
│ ├── InvalidCurrencyException.cs
│ ├── InvalidItemTypeException.cs
│ ├── InvalidMaterialException.cs
│ ├── InvalidShopItemException.cs
│ ├── InvalidTradableItemException.cs
│ ├── ProductNotFoundException.cs
│ ├── ArenaNotEndedException.cs
│ ├── CostumeSlotUnlockException.cs
│ ├── DuplicateMaterialException.cs
│ ├── ItemDoesNotExistException.cs
│ ├── NotEnoughActionPointException.cs
│ ├── NotEnoughMaterialException.cs
│ ├── DuplicateEquipmentException.cs
│ ├── InvalidNamePatternException.cs
│ ├── NotEnoughCombatPointException.cs
│ ├── AlreadyReceivedException.cs
│ ├── InvalidProductTypeException.cs
│ ├── AlreadyActivatedException.cs
│ ├── ConsumableSlotUnlockException.cs
│ ├── IBuy0.cs
│ ├── InvalidTradableIdException.cs
│ ├── MemoLengthOverflowException.cs
│ ├── OrderIdDoesNotExistException.cs
│ ├── AlreadyContractedException.cs
│ ├── AvatarIndexAlreadyUsedException.cs
│ ├── EquipmentLevelExceededException.cs
│ ├── AppraiseBlockNotReachedException.cs
│ ├── CombinationSlotResultNullException.cs
│ ├── InvalidStageException.cs
│ ├── MonsterCollectionExpiredException.cs
│ ├── ActivationException.cs
│ ├── InvalidMonsterCollectionRoundException.cs
│ ├── InvalidTransferCurrencyException.cs
│ ├── ValidatorSetOperatorType.cs
│ ├── InvalidWorldException.cs
│ ├── ShopErrorType.cs
│ ├── InvalidClaimException.cs
│ ├── InvalidElementalException.cs
│ ├── InvalidEquipmentException.cs
│ ├── InvalidRecipeIdException.cs
│ ├── ActionObsoletedException.cs
│ ├── InvalidRepeatPlayException.cs
│ ├── AgentStateNotContainsAvatarAddressException.cs
│ ├── AlreadyClaimedGiftsException.cs
│ ├── Exceptions
│ │ ├── CustomEquipmentCraft
│ │ │ └── NotEnoughRelationshipException.cs
│ │ └── DuplicatedCraftSlotIndexException.cs
│ ├── ShopItemExpiredException.cs
│ ├── ActionUnavailableException.cs
│ ├── InvalidItemCountException.cs
│ ├── EquipmentSlotUnlockException.cs
│ ├── InvalidAddressException.cs
│ ├── NotEnoughRankException.cs
│ ├── ActionPointExceededException.cs
│ └── AlreadyWorldUnlockedException.cs
├── Delegation
│ └── UnbondingType.cs
├── Extensions
│ ├── IntegerExtensions.cs
│ ├── ActionContextExtensions.cs
│ ├── AgentAddressExtensions.cs
│ └── RandomExtensions.cs
├── Planet.cs
├── MeadConfig.cs
├── Exceptions
│ ├── InvalidStateTypeException.cs
│ └── AlreadyFoughtAvatarException.cs
├── Battle
│ ├── IStageSimulator.cs
│ └── ISimulator.cs
└── Arena
│ └── IArenaSimulator.cs
├── global.json
├── .Lib9c.Tools
├── activated-accounts-example.json
├── admin-state-config-example.json
└── authorized-miner-state-config-example.json
├── .github
├── dependabot.yml
├── bin
│ ├── github-release.sh
│ └── constants.sh
└── workflows
│ └── release.yaml
├── Lib9c.Abstractions
├── IMigrationLegacyShopV1.cs
├── IMonsterCollectV2.cs
├── IMigrationActivatedAccountsStateV1.cs
├── IRenewAdminStateV1.cs
├── IStakeV1.cs
├── IAddRedeemCodeV1.cs
├── IMonsterCollectV1.cs
├── ICancelMonsterCollectV1.cs
├── IDailyRewardV1.cs
├── ISecureMiningReward.cs
├── IClaimRaidRewardV1.cs
├── IClaimStakeRewardV1.cs
├── IChargeActionPointV1.cs
├── IClaimWordBossKillRewardV1.cs
├── ICreatePendingActivationV1.cs
├── IMigrateMonsterCollectionV1.cs
├── IClaimMonsterCollectionRewardV2.cs
├── IRedeemCodeV1.cs
├── IAddActivatedAccountV1.cs
├── IActivateAccount.cs
├── IUnlockRuneSlotV1.cs
├── IHackAndSlashRandomBuffV1.cs
├── IMigrationAvatarStateV1.cs
├── IAuraSummonV1.cs
├── IClaimMonsterCollectionRewardV1.cs
├── IRapidCombinationV1.cs
├── IRuneEnhancementV1.cs
├── IRuneSummonV1.cs
├── ISellCancellationV1.cs
├── ICreatePendingActivationsV1.cs
├── ICombinationConsumableV1.cs
├── IUnlockWorldV1.cs
├── IBuyV2.cs
├── IUnlockEquipmentRecipeV1.cs
├── ICreateAvatarV2.cs
├── ISellCancellationV2.cs
├── IHackAndSlashSweepV1.cs
├── IRapidCombinationV2.cs
├── IBuyMultipleV1.cs
├── ICombinationEquipmentV1.cs
├── IUpdateSellV2.cs
├── IItemEnhancementV2.cs
├── IBuyV1.cs
├── ISellCancellationV3.cs
├── IPrepareRewardAssetsV1.cs
├── IEventConsumableItemCraftsV1.cs
├── IGrindingV1.cs
├── ICombinationEquipmentV2.cs
├── IItemEnhancementV3.cs
├── IItemEnhancementV4.cs
├── ITransferAssetV1.cs
├── ICreateAvatarV1.cs
├── IItemEnhancementV1.cs
├── ISellV1.cs
├── ICombinationEquipmentV3.cs
├── ITransferAssetsV1.cs
├── IEventMaterialItemCraftsV1.cs
├── IRaidV1.cs
├── IItemEnhancementV5.cs
├── ISellV2.cs
├── ICombinationEquipmentV4.cs
├── IBattleGrandFinaleV1.cs
├── IHackAndSlashV6.cs
├── IUpdateSellV1.cs
├── IHackAndSlashV5.cs
├── IRankingBattleV1.cs
├── IHackAndSlashSweepV2.cs
├── IHackAndSlashV7.cs
├── IRaidV2.cs
├── IMimisbrunnrBattleV4.cs
├── IHackAndSlashV3.cs
├── IMimisbrunnrBattleV2.cs
├── IRankingBattleV2.cs
├── IJoinArenaV1.cs
├── IHackAndSlashV8.cs
├── IHackAndSlashV4.cs
├── IHackAndSlashV1.cs
├── IHackAndSlashV2.cs
├── IMimisbrunnrBattleV3.cs
├── IDeliverToOthersGaragesV1.cs
├── IMimisbrunnrBattleV1.cs
├── IEventDungeonBattleV1.cs
└── IHackAndSlashSweepV3.cs
├── Lib9c.DevExtensions
├── Model
│ ├── BaseTestbedModel.cs
│ └── TestbedWeeklyArena.cs
└── Action
│ └── Interface
│ ├── IFaucetCurrency.cs
│ └── IFaucetRune.cs
├── Lib9c.Policy
├── AssemblyInfo.cs
├── AccessControlService
│ └── IAccessControlService.cs
└── Lib9c.Policy.csproj
├── .config
└── dotnet-tools.json
├── .Lib9c.Plugin.Shared
├── IPluginActionEvaluator.cs
└── Lib9c.Plugin.Shared.csproj
├── Lib9c.Proposer
└── ActionTypeLoaderContext.cs
├── .Lib9c.ActionEvaluatorCommonComponents
└── Random.cs
├── .gitignore
├── .Lib9c.Tests
├── Action
│ ├── DamageHelperTest.cs
│ ├── CreateTestbedTest.cs
│ ├── ValidatorDelegation
│ │ └── ConstantTest.cs
│ └── RuneSlotInfoTest.cs
├── Util
│ └── AddressUtil.cs
├── Delegation
│ └── DummyDelegator.cs
├── Model
│ ├── Guild
│ │ ├── GuildApplicationTest.Snapshot.verified.txt
│ │ └── GuildParticipantTest.Snapshot.verified.txt
│ └── MonsterCollectSheetTest.cs
└── TableData
│ └── RuneWeightSheetTest.cs
├── Lib9c.Utils
└── Lib9c.Utils.csproj
├── Lib9c.Renderers
└── Lib9c.Renderers.csproj
└── _typos.toml
/.gitmodules:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/articles/introduction.md:
--------------------------------------------------------------------------------
1 | # Introduction
--------------------------------------------------------------------------------
/integrations/python/.python-version:
--------------------------------------------------------------------------------
1 | 3.12.7
2 |
--------------------------------------------------------------------------------
/.Lib9c.Miner.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using Xunit;
2 |
--------------------------------------------------------------------------------
/docs/articles/getting-started.md:
--------------------------------------------------------------------------------
1 | # Getting Started
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | [!include[README](../README.md)]
2 |
--------------------------------------------------------------------------------
/.Lib9c.Benchmarks/.gitignore:
--------------------------------------------------------------------------------
1 | BenchmarkDotNet.Artifacts/
2 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.rulers": [80, 100],
3 | }
--------------------------------------------------------------------------------
/docs/articles/currencies/toc.yml:
--------------------------------------------------------------------------------
1 | - name: Mead
2 | href: mead.md
3 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/.gitignore:
--------------------------------------------------------------------------------
1 | dist
2 | node_modules
3 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/tests/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.Lib9c.ActionEvaluatorCommonComponents.Tests/Usings.cs:
--------------------------------------------------------------------------------
1 | global using Xunit;
2 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/.npmrc:
--------------------------------------------------------------------------------
1 | @jsr:registry=https://npm.jsr.io
2 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/docs/.gitignore:
--------------------------------------------------------------------------------
1 | .vitepress/cache
2 |
--------------------------------------------------------------------------------
/integrations/javascript/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "deno.enable": true
3 | }
4 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/.gitignore:
--------------------------------------------------------------------------------
1 | src/generated
2 |
--------------------------------------------------------------------------------
/docs/filter.yml:
--------------------------------------------------------------------------------
1 | apiRules:
2 | - exclude:
3 | uidRegex: ^BTAI$
4 | type: Namespace
5 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GrandFinaleScheduleSheet.csv:
--------------------------------------------------------------------------------
1 | id,start_block_index,end_block_index
2 | 1,1,10
3 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/BuffLinkSheet.csv:
--------------------------------------------------------------------------------
1 | buff1_id,buff2_id
2 | 708000,709000
3 | 708001,709001
4 | 708002,709002
--------------------------------------------------------------------------------
/docs/api/.gitignore:
--------------------------------------------------------------------------------
1 | ###############
2 | # temp file #
3 | ###############
4 | *.yml
5 | .manifest
6 |
--------------------------------------------------------------------------------
/integrations/python/src/lib9c/__init__.py:
--------------------------------------------------------------------------------
1 | def hello() -> str:
2 | return "Hello from lib9c!"
3 |
--------------------------------------------------------------------------------
/global.json:
--------------------------------------------------------------------------------
1 | {
2 | "sdk": {
3 | "version": "6.0.400",
4 | "rollForward": "major"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CreateAvatarItemSheet.csv:
--------------------------------------------------------------------------------
1 | ItemId,Count
2 | 10110000,1
3 | 10210000,1
4 | 303000,2
5 | 10610000,1
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CreateAvatarFavSheet.csv:
--------------------------------------------------------------------------------
1 | currency,quantity,target
2 | CRYSTAL,200000,Agent
3 | RUNE_ADVENTURER,1,Avatar
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'lib9c'
3 | - '9c-headless-provider'
4 |
--------------------------------------------------------------------------------
/Lib9c/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("Lib9c.Tests")]
4 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalFluctuationSheet.csv:
--------------------------------------------------------------------------------
1 | id,type,block_interval,minimum_rate,maximum_rate
2 | 1,Combination,14400,10,1000
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventDungeonSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d0cc887f4f4742ef99acc87eae4ea677
3 | timeCreated: 1656977839
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventScheduleSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c68023b5e8eb422b8f21a77271d49714
3 | timeCreated: 1657783009
--------------------------------------------------------------------------------
/.Lib9c.Tools/activated-accounts-example.json:
--------------------------------------------------------------------------------
1 | {
2 | "accounts": [
3 | "ba59F3b054EA42230b624e6c3D890e09287522A7"
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ClaimableGiftsSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d9d5820f221437094f1f72a78d12790
3 | timeCreated: 1730298359
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalHammerPointSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1b09e0d2ca0749e883762dc2425f5375
3 | timeCreated: 1659601101
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalRandomBuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 50feb824ab6246ba9dc354055a02093a
3 | timeCreated: 1652953053
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventDungeonStageSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 55293d8703d041508c0fc9e3264b89b5
3 | timeCreated: 1656979404
--------------------------------------------------------------------------------
/Lib9c/Model/Item/LockType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Item
2 | {
3 | public enum LockType
4 | {
5 | Order
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalStageBuffGachaSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1ad7eed030a439fa28012cc342b1afb
3 | timeCreated: 1652944649
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventDungeonStageWaveSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 90dd211776a246e3b535b6d43c5bd606
3 | timeCreated: 1656979403
--------------------------------------------------------------------------------
/docs/toc.yml:
--------------------------------------------------------------------------------
1 | - name: Docs
2 | href: articles/
3 | - name: API
4 | href: api/
5 | - name: Contributing
6 | href: contributing/
7 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventConsumableItemRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4493d8f3ccc54a0e849b2b7b527b5a28
3 | timeCreated: 1658634076
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeActionPointCoefficientSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5685abfd2d904b64805c00180eca951f
3 | timeCreated: 1661752290
--------------------------------------------------------------------------------
/.Lib9c.Tools/admin-state-config-example.json:
--------------------------------------------------------------------------------
1 | {
2 | "adminAddress": "F9A15F870701268Bd7bBeA6502eB15F4997f32f9",
3 | "validUntil": 1500000
4 | }
5 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "nuget"
4 | directory: "/"
5 | schedule:
6 | interval: "daily"
7 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMigrationLegacyShopV1.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface IMigrationLegacyShopV1
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemGradeQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,grade
2 | 800000,6,12,1
3 | 800001,6,12,2
4 | 800002,6,19,3
5 | 800003,6,15,4
6 | 800004,6,16,5
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SwapRateSheet.csv:
--------------------------------------------------------------------------------
1 | currency_from,currency_to,rate
2 | NCG;2;0x47D082a115c63E7b58B1532d20E631538eaFADde;false;null,MEAD;18;null;true;null,1/1
3 |
--------------------------------------------------------------------------------
/docs/contributing/documentation/toc.yml:
--------------------------------------------------------------------------------
1 | items:
2 | - name: Structure
3 | href: structure.md
4 | - name: Deployment
5 | href: deployment.md
6 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/.editorconfig:
--------------------------------------------------------------------------------
1 | [*]
2 | indent_style = space
3 | indent_size = 2
4 | end_of_line = lf
5 | insert_final_newline = true
6 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,monster_id
2 | 500001,1,17,201005
3 | 500002,1,21,202007
4 | 500003,1,15,203007
5 | 500004,1,16,205007
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "private": true,
3 | "workspaces": [
4 | "lib9c",
5 | "9c-headless-provider"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c.DevExtensions/Model/BaseTestbedModel.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.DevExtensions.Model
2 | {
3 | public abstract class BaseTestbedModel
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/TradeType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum TradeType
4 | {
5 | Buy,
6 | Sell
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossSheet.csv:
--------------------------------------------------------------------------------
1 | id,boss_id,_boss_name,explore_ap,sweep_ap
2 | 1,211000,수르트,2,1
3 | 2,211001,라우페이,2,1
4 | 3,211002,요르문간드,2,1
5 | 4,211003,헤라,2,1
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterCollectionSheet.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,reward_id
2 | 1,500,1
3 | 2,1800,2
4 | 3,7200,3
5 | 4,54000,4
6 | 5,270000,5
7 | 6,480000,6
8 | 7,1500000,7
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalMonsterCollectionMultiplierSheet.csv:
--------------------------------------------------------------------------------
1 | level,multiplier
2 | 0,0
3 | 1,0
4 | 2,50
5 | 3,100
6 | 4,200
7 | 5,300
8 | 6,300
9 | 7,300
10 | 8,300
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerConditionSheet.csv:
--------------------------------------------------------------------------------
1 | Id,StatType,TargetType,OperationType,Value
2 | 1,2,1,0,50
3 | 2,3,1,0,30
4 | 3,6,1,0,25
5 | 4,1,1,0,100
6 | 5,2,1,0,75
7 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneLevelBonusSheet.csv:
--------------------------------------------------------------------------------
1 | id,rune_level,bonus
2 | 1,1,30000
3 | 2,2034,46
4 | 3,4068,34
5 | 4,8137,21
6 | 5,16275,16
7 | 6,32550,9
8 | 7,65100,5
9 | 8,130200,5
--------------------------------------------------------------------------------
/Lib9c/TableData/Summon/RuneSummonSheet.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData.Summon
2 | {
3 | public class RuneSummonSheet : SummonSheet
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/integrations/python/.gitignore:
--------------------------------------------------------------------------------
1 | # lib9c generated files
2 | __pycache__/
3 | *.py[oc]
4 | build/
5 | dist/
6 | wheels/
7 | *.egg-info
8 |
9 | # venv
10 | .venv
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMonsterCollectV2.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface IMonsterCollectV2
4 | {
5 | int Level { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/RuneType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum RuneType
4 | {
5 | Stat = 1,
6 | Skill = 2,
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/TableData/Summon/CostumeSummonSheet.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData.Summon
2 | {
3 | public class CostumeSummonSheet : SummonSheet
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/docs/contributing/toc.yml:
--------------------------------------------------------------------------------
1 | # See https://dotnet.github.io/docfx/docs/table-of-contents.html
2 | - name: Documentation
3 | href: documentation/toc.yml
4 | expanded: true
5 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMigrationActivatedAccountsStateV1.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface IMigrationActivatedAccountsStateV1
4 | {
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Lib9c.Policy/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Runtime.CompilerServices;
2 |
3 | [assembly: InternalsVisibleTo("Lib9c.Tests")]
4 | [assembly: InternalsVisibleTo("Lib9c.Benchmarks")]
5 |
--------------------------------------------------------------------------------
/Lib9c/Action/IClaimStakeReward.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Action;
2 |
3 | namespace Nekoyume.Action
4 | {
5 | public interface IClaimStakeReward : IAction
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemTypeCollectQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,item_type
2 | 900000,5,3,Material
3 | 900001,10,19,Material
4 | 900002,20,19,Material
5 | 900003,30,19,Material
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V1.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,count
2 | 1,50,500000,1
3 | 2,500,500000,2
4 | 3,5000,500000,2
5 | 4,50000,500000,2
6 | 5,500000,500000,2
--------------------------------------------------------------------------------
/Lib9c/TableData/ISheet.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData
2 | {
3 | public interface ISheet
4 | {
5 | void Set(string csv, bool isReversed = false);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/TableData/Summon/EquipmentSummonSheet.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData.Summon
2 | {
3 | public class EquipmentSummonSheet : SummonSheet
4 | {
5 |
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/UnlockCombinationSlotCostSheet.csv:
--------------------------------------------------------------------------------
1 | slot_id,crystal_price,golden_dust_price,ruby_dust_price,ncg_price
2 | 4,20000000,0,0,0
3 | 5,0,1000,0,0
4 | 6,0,0,500,0
5 | 7,0,0,0,200
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | ###############
2 | # folder #
3 | ###############
4 | /**/DROP/
5 | /**/TEMP/
6 | /**/packages/
7 | /**/bin/
8 | /**/obj/
9 | _site
10 | _DocfxTemplate
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRenewAdminStateV1.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface IRenewAdminStateV1
4 | {
5 | long NewValidUntil { get; }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/Model/Collection/MaterialType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Collection
2 | {
3 | public enum MaterialType
4 | {
5 | Fungible,
6 | NonFungible
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/StatReferenceType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum StatReferenceType
4 | {
5 | Caster,
6 | Target,
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/.Lib9c.Tools/authorized-miner-state-config-example.json:
--------------------------------------------------------------------------------
1 | {
2 | "validUntil": 1500000,
3 | "interval": 50,
4 | "miners": [
5 | "ba59F3b054EA42230b624e6c3D890e09287522A7"
6 | ]
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/Action/ClaimStakeReward2.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Action
2 | {
3 | public static class ClaimStakeReward2
4 | {
5 | public const long ObsoletedIndex = 5_549_200L;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/Model/State/IState.cs:
--------------------------------------------------------------------------------
1 | using Bencodex.Types;
2 |
3 | namespace Nekoyume.Model.State
4 | {
5 | public interface IState
6 | {
7 | IValue Serialize();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerScheduleSheet.csv:
--------------------------------------------------------------------------------
1 | Id,InfiniteTowerId,StartBlockIndex,EndBlockIndex,DailyFreeTickets,MaxTickets,ResetIntervalBlocks,FloorBegin,FloorEnd
2 | 1,1,0,1000000,3,10,10800,1,100
3 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vitest/config";
2 |
3 | export default defineConfig({
4 | test: {
5 | cache: false,
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GoldQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,type
2 | 1000000,100,12,Buy
3 | 1000001,1000,21,Buy
4 | 1000003,10000,15,Buy
5 | 1000004,100,19,Sell
6 | 1000005,1000,21,Sell
7 | 1000006,10000,15,Sell
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeActionPointCoefficientSheet.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,coefficient
2 | 1,50,100
3 | 2,500,100
4 | 3,5000,80
5 | 4,50000,80
6 | 5,500000,60
7 | 6,1000000,60
8 | 7,5000000,60
9 | 8,10000000,60
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IStakeV1.cs:
--------------------------------------------------------------------------------
1 | using System.Numerics;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IStakeV1
6 | {
7 | BigInteger Amount { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/ArenaType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum ArenaType
4 | {
5 | OffSeason,
6 | Season,
7 | Championship,
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableData/IStakeRewardRow.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData
2 | {
3 | public interface IStakeRewardRow
4 | {
5 | long RequiredGold { get; }
6 | int Level { get; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/Delegation/UnbondingType.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | namespace Nekoyume.Delegation
3 | {
4 | public enum UnbondingType
5 | {
6 | UnbondLockIn,
7 | RebondGrace,
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/PetSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 68f52175ea201734f9c9961b9310789c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vitest/config";
2 |
3 | export default defineConfig({
4 | test: {
5 | cache: false,
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IAddRedeemCodeV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IAddRedeemCodeV1
6 | {
7 | string RedeemCsv { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMonsterCollectV1.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface IMonsterCollectV1
4 | {
5 | int Level { get; }
6 | int CollectionRound { get; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/Model/Character/SizeType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Character
2 | {
3 | public enum SizeType
4 | {
5 | XS,
6 | S,
7 | M,
8 | L,
9 | XL
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/CraftType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum CraftType
4 | {
5 | Normal = 0,
6 | Premium = 1,
7 | Mimisbrunnr = 2
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/ITradableFungibleItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.Model.Item
4 | {
5 | public interface ITradableFungibleItem : ITradableItem, IFungibleItem, ICloneable
6 | {
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c/Model/Market/ProductType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Market
2 | {
3 | public enum ProductType
4 | {
5 | Fungible,
6 | FungibleAssetValue,
7 | NonFungible,
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ArenaSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d976e6f264d5cc14b924245f5f0c7408
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/BuffLinkSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1abf52f76a93b24693af8d35cc686a9
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/BuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 582fa4ea50bc77345b7beab3f8fc3263
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/PetCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d7c5529019c0c4141b3a1f38119d3d7b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7537d4c366a919b419a9dd88c74d4664
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneListSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b7f969492957e1e4daf3e59795e1b90f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6aef9a3db0b6f4640a7fc139cfad27f1
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SkillSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7a9b2baff829974b9a01a15357b0742
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StageSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b21c944cdb1602f4e85bcc84227291a9
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakePolicySheet.csv:
--------------------------------------------------------------------------------
1 | attr_name,value
2 | StakeRegularFixedRewardSheet,StakeRegularFixedRewardSheet_V3
3 | StakeRegularRewardSheet,StakeRegularRewardSheet_V10
4 | RewardInterval,75600
5 | LockupInterval,75600
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StatBuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 079770e835832c747958077e8badef9e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SummonSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9649cafeff91b8a4d86a63c6ed34d971
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SwapRateSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 979139e8f08163d4d814797b8108a9e2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 973104b380321784ba4bc1aaa9b7693c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup';
2 |
3 | export default defineConfig({
4 | entry: ['src/index.ts'],
5 | format: ['cjs', 'esm'],
6 | dts: true,
7 | });
8 |
--------------------------------------------------------------------------------
/.config/dotnet-tools.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "isRoot": true,
4 | "tools": {
5 | "docfx": {
6 | "version": "2.77.0",
7 | "commands": [
8 | "docfx"
9 | ]
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICancelMonsterCollectV1.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface ICancelMonsterCollectV1
4 | {
5 | int CollectRound { get; }
6 | int Level { get; }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IDailyRewardV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IDailyRewardV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Action/ClaimStakeReward8.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Action
2 | {
3 | public class ClaimStakeReward8
4 | {
5 | public const long ObsoleteBlockIndex = ActionObsoleteConfig.V200080ObsoleteIndex;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ActionBuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 896cab44f60e5f14ba3cc9bb7f93d2eb
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3b7dde9f2a626c84bb1ec7430b5e370f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/BuffLimitSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9fc1acd3cc4b356409506a3c3f0ad3de
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CharacterSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8e97d1ce105d7cd428a4da01a9bc0e37
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CollectQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2437fa14bc67a53429adbe4348b9b1be
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CollectionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e458af4b236c44b48b0d7a0f20f0acfb
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CostumeItemSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b717c872f6692941824026dd229faee
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CostumeStatSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d48dd3d1808dd7049bdae87f328c488e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CostumeSummonSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a0c79adeb7373ff409d9c242058bc49a
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftRecipeSheet.csv:
--------------------------------------------------------------------------------
1 | id,item_sub_type,scroll_amount,circle_amount,required_block
2 | 1,Weapon,10,10,5400
3 | 2,Armor,10,10,5400
4 | 3,Belt,10,10,5400
5 | 4,Necklace,10,10,5400
6 | 5,Ring,10,10,5400
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EnemySkillSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8b75d533bb48dc944824f76091ed4a6c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 557bc8df65f98cd49a0a76ff97e44756
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GameConfigSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0484a4790bb977242867f3a5698e3be6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GeneralQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f7306fd6d90cb454ea11acfa8473cba7
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GoldQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c000d1177a4459742974f49d0c8a3d5e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MaterialItemSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0c448daa08c2e9e4fa220cbcbf36e4e2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MimisbrunnrSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0166ef501be705c42959971e49ef746f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1253f4ea1499ca549a4f4d8ab786f316
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/PatrolRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 92ae4e6336725f74a8475d848cd18510
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/PetOptionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b78e16492abe3347b25e88fa81fa154
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/QuestRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e99ef7e97addc784ba01deccd1472b8d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RedeemRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6d2187c1d67666145a347c53577d3bf9
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneOptionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 97388aefbad46d9449236d3d393051b6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneSummonSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2220121acc8b1b042a295cd80498d4c5
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneWeightSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7d2deb08cdf0a2b4dac681e6259a897a
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SkillBuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0ec6b419c4657c64a93356246a44cb4b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StageDialogSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d4b4b78205e2c441aab7f90ceed1789
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StageWaveSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9e1e8ffcd83cc2e40ac4636bd6d2026e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakePolicySheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c37fc454282945a29b1043c125b372f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SynthesizeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a3472acbc77af934cb1101ebbda88920
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/TradeQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 280616bef68ed80419941120efddb8c2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossListSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b233f5b1c11a3384ea18367ac4615aa0
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f5ef6b31fe92ea418fdf8ea379164c0
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldUnlockSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bded529e14fde864d90bfa031348653d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISecureMiningReward.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ISecureMiningReward
6 | {
7 | Address Recipient { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Model/Skill/SkillType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Skill
2 | {
3 | public enum SkillType
4 | {
5 | Attack = 0,
6 | Heal = 1,
7 | Buff = 2,
8 | Debuff = 3,
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossFloorSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 323cd1a609d3d4040b961249a1d8d857
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CharacterLevelSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 042c171840e3e4f469152c3d352b7304
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CombinationQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 03bd52331f6b101458465dd59c444f27
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ConsumableItemSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 26559b34dbf6e7e4a8fea110bc10fc70
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CreateAvatarFavSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b5ba7b860081cd142918a383e35eb462
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CreateAvatarItemSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 457d4121459c2574cb7463ca5aba357e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalFluctuationSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 776afafa857ea734c980f8f089adb60d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EnhancementCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4bb950ca7db69474bab82b5896fbf85a
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EnhancementCostSheetV2.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 17307ff60e2ce6f45a184b3f232402e7
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EnhancementCostSheetV3.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 86d2bd2ee3e5821478259fdbdfd7960b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentSummonSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5f1e552f528b9ed49ab84ad479232a53
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerFloorSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 514de5365a1ea407d99caf0a1ebb27e9
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemConfigForGradeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 23624012ca1179940aab463c47ba6cbc
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemGradeQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12b34d6d3e6a3794781bc5e49fc35d7c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemRequirementSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d174e272fb0273744a5f41e5390c57b3
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterCollectionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 928c1192ac7b0d64cb2e206d8808791c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/QuestItemRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fba23ba1be98f7649940e9e34b9052ec
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RedeemCodeListSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 580b62777ec8eeb48b576e52399d6081
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/RuneLevelBonusSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2ca8fe034755c65468bfe34e31410fea
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SkillActionBuffSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0f51e94087f2bb24f8d352fdc495c280
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,count
2 | 1,50,500000,1
3 | 2,500,500000,2
4 | 3,5000,500000,2
5 | 4,50000,500000,2
6 | 5,500000,500000,2
7 | 6,5000000,500000,2
8 | 7,10000000,500000,2
9 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V2.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,count
2 | 1,50,500000,1
3 | 2,500,500000,2
4 | 3,5000,500000,2
5 | 4,50000,500000,2
6 | 5,500000,500000,2
7 | 6,5000000,500000,2
8 | 7,10000000,500000,2
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 24598104e1b9e714baf11590b6894fe6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SweepRequiredCPSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a62db52dad82d1947b4b721e35bb5072
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SynthesizeWeightSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0dc2fc75a89523244b155d1e5130ce7c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WeeklyArenaRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 106909cf311cc544f86c8b9bea0e2032
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossCharacterSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 067c3b3e0182a7e45a494db8c0cbfc3e
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossGlobalHpSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3ec8a893cb4dcfc4bba388fa87ff3ae6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IClaimRaidRewardV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IClaimRaidRewardV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IClaimStakeRewardV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IClaimStakeRewardV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Action/Arena/ArenaProvider.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Action.Arena
2 | {
3 | ///
4 | /// Temp
5 | ///
6 | public enum ArenaProvider
7 | {
8 | PLANETARIUM,
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/ILock.cs:
--------------------------------------------------------------------------------
1 | using Bencodex.Types;
2 |
3 | namespace Nekoyume.Model.Item
4 | {
5 | public interface ILock
6 | {
7 | LockType Type { get; }
8 |
9 | IValue Serialize();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossFloorPointSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3c8fc835464029f45a13e770f50ef8af
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossFloorWaveSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e35a0d3674dd460479b3cf2544c601cf
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ConsumableItemRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 663316ecd1c4fa5488c655fedeb00c96
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalMaterialCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ccb4a562c51d9bf4fb3270e3be404409
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemOptionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 48de20a2e7648e647b4fd23b59a62939
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 07e904fe2c7d43545ad6c209d6036e7c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemSetEffectSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ef1a3380cd77574eb8f6baca96bd70c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemSubRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 927a25fc9dfb94c43bd38c33c74bd8a1
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventMaterialItemRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 549d4f0a707fe6d40b077067a4c57cbe
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GrandFinaleParticipantsSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1220af6c76c71d74c899ca1ee158feec
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GrandFinaleScheduleSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dd16ef96bbabcca4195ad0ab84df7e68
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerConditionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc2458862bd7a47ebbc6414d5ac2fc97
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerFloorWaveSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 854027687acd94353a85ea8a84969623
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/InfiniteTowerScheduleSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: a1bdc36189e374af9a42657c86eeea53
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemEnhancementQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: acc7c63d90079c4428dab9f8c5b22a8d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemTypeCollectQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 669f344b9619e2c449847bca9425bd78
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/LoadIntoMyGaragesCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 419156b97eb224023967dc1eda68e11d
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterCollectionRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fa00325fe31c4a144a064276e79dcb57
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeAchievementRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c7cb2191632666b4c8552838694a5503
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: dc254e038a843344ba450d4e5d3b503b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V1.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 8a090fd12b3254f71bbd23c7de9a9f06
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V10.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 609cf2423fc0e4af9a7dc27acbf85583
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V2.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 440c9dbb9ee5e4ada8bf6333d68c450f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V3.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5d22627f4077c42948bf7cd952231b53
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V4.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ac7b5817a284948d095a8b8e312a247a
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V5.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 3200739cb51ec41fa81a2127d1b87568
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V6.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0b966984ecb29471d80098ee72059431
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V7.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d48fcf7b630e82e429da8a22ec6f7480
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V8.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b4c8d3ca3aea5804e87dfec810e671b3
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V9.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 503661fbe6bc85049a9816a1c21c29a8
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/TradeQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,type
2 | 400001,1,14,Sell
3 | 400002,10,14,Sell
4 | 400003,50,15,Sell
5 | 400004,100,16,Sell
6 | 400005,1,13,Buy
7 | 400006,10,13,Buy
8 | 400007,50,15,Buy
9 | 400008,100,16,Buy
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossActionPatternSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1dbed7522a5bdf44b68d7a7bbca8d0f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossBattleRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c50307af48f19e941be6ee1cfabf7db2
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossKillRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9701135a944f78e4fb66c7bb971a12d3
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossRankRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c1e61363839c7bf46a92262012ca5d54
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossRankingRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5ea7a2d9511d70747921be953145e8c7
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup';
2 |
3 | export default defineConfig({
4 | entry: ['src/index.ts'],
5 | format: ['cjs', 'esm'],
6 | dts: true,
7 | });
8 |
--------------------------------------------------------------------------------
/.Lib9c.Plugin.Shared/IPluginActionEvaluator.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Plugin.Shared
2 | {
3 | public interface IPluginActionEvaluator
4 | {
5 | byte[][] Evaluate(byte[] blockBytes, byte[]? baseStateRootHashBytes);
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IChargeActionPointV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IChargeActionPointV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossNcgRewardRatioSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fbda4995c76ee6549b70e27d319129f6
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossUnlockFloorCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: df5e39656e82c8942bd8e233c3f0383f
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossWantedRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9d948a32961fe4945b09e994af08c6fd
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CombinationEquipmentQuestSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 911513cbe54f5714ba7a8b0567ad2131
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalEquipmentGrindingSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e9dff4304b213d14da1ca638be0d77d7
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftIconSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 12de7b52a0acd5d48bdeea8ce1ad2bda
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftOptionSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: af8ada4923c970748935dd62ec37398c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftRecipeSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 909af8af60c5f0f42ac2e8de0e3d2fbc
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftRecipeSkillSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0b63e62b043a469c8c79803e2f18b6f0
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EquipmentItemSubRecipeSheetV2.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1ea848d94e25e094683627460c75ac6c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V1.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 894e39fedde484dbd83c8329532e3c5c
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V2.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5afe58c7ef3cc4bbd9481c4426d1dc50
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V3.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 708f7a00c376d48baa0b3121ff4f4321
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/UnlockCombinationSlotCostSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 0e761695313cf9449aa2ec0fb44c61ef
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossContributionRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bb0e2fd7f8578fa45aacede37d16a5fa
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/Extensions/IntegerExtensions.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Extensions
2 | {
3 | public static class IntegerExtensions
4 | {
5 | public static decimal NormalizeFromTenThousandths(this int value) => value * 0.0001m;
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/RuneSlotType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum RuneSlotType
4 | {
5 | Default = 1,
6 | Ncg = 2,
7 | Stake = 3,
8 | Crystal = 4,
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/IEquippableItem.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Item
2 | {
3 | public interface IEquippableItem: IItem
4 | {
5 | bool Equipped { get; }
6 | void Equip();
7 | void Unequip();
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossContributionRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d6aaee8128796794d807009e5be23146
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossFloorFirstRewardSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e4d44b3fb8544aa44be2826c0da7f255
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CustomEquipmentCraftRelationshipSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 563f17d3a80ee4d41beab2642809622b
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IClaimWordBossKillRewardV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IClaimWordBossKillRewardV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICreatePendingActivationV1.cs:
--------------------------------------------------------------------------------
1 | using Bencodex.Types;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICreatePendingActivationV1
6 | {
7 | IValue PendingActivation { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMigrateMonsterCollectionV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IMigrateMonsterCollectionV1
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CrystalMonsterCollectionMultiplierSheet.csv.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: bcad073a3c5e22d4da3bf5835c17be00
3 | TextScriptImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularFixedRewardSheet_V3.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,count
2 | 1,50,500000,1
3 | 2,500,500000,2
4 | 3,5000,500000,2
5 | 4,50000,500000,2
6 | 5,500000,500000,2
7 | 6,1000000,500000,2
8 | 7,5000000,500000,2
9 | 8,10000000,500000,2
--------------------------------------------------------------------------------
/Lib9c/Model/Skill/SkillCustomField.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Nekoyume.Model.Skill
3 | {
4 | public struct SkillCustomField
5 | {
6 | public int BuffDuration { get; set; }
7 | public long BuffValue { get; set; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/docs/articles/system/avatar/toc.yml:
--------------------------------------------------------------------------------
1 | items:
2 | - name: Avatar
3 | href: avatar.md
4 | - name: Inventory
5 | href: inventory.md
6 | - name: QuestList
7 | href: quest-list.md
8 | - name: WorldInformation
9 | href: world-information.md
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IClaimMonsterCollectionRewardV2.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IClaimMonsterCollectionRewardV2
6 | {
7 | Address AvatarAddress { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRedeemCodeV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IRedeemCodeV1
6 | {
7 | string Code { get; }
8 | Address AvatarAddress { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IAddActivatedAccountV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IAddActivatedAccountV1
8 | {
9 | Address Address { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/IItem.cs:
--------------------------------------------------------------------------------
1 | using Nekoyume.Model.State;
2 |
3 | namespace Nekoyume.Model.Item
4 | {
5 | public interface IItem: IState
6 | {
7 | ItemType ItemType { get; }
8 |
9 | ItemSubType ItemSubType { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/GrandFinaleParticipantsSheet.csv:
--------------------------------------------------------------------------------
1 | id,avatar_address
2 | 1,0xCF0C9e8885C6dF0fD468917302B646Ce098A6C84
3 | 1,0xd09536b122CCd262B6DFCD0b8D4AECf73a3669Cd
4 | 1,0x216696296B69a5402Aa7F3a3f05A6C31E44C90B9
5 | 1,0x9DD5334c26Fb04B6aDe7CD1047a3A39460B005e1
6 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IActivateAccount.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IActivateAccount
6 | {
7 | Address PendingAddress { get; }
8 | byte[] Signature { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IUnlockRuneSlotV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IUnlockRuneSlotV1
6 | {
7 | Address AvatarAddress { get; }
8 | int SlotIndex { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.DevExtensions/Model/TestbedWeeklyArena.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lib9c.DevExtensions.Model
4 | {
5 | [Serializable]
6 | public class TestbedWeeklyArena : BaseTestbedModel
7 | {
8 | public Avatar[] Avatars;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/ITradableItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.Model.Item
4 | {
5 | public interface ITradableItem: IItem
6 | {
7 | Guid TradableId { get; }
8 |
9 | long RequiredBlockIndex { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableData/IStakeRewardSheet.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Nekoyume.TableData
4 | {
5 | public interface IStakeRewardSheet : ISheet
6 | {
7 | IReadOnlyList OrderedRows { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/Model/Item/INonFungibleItem.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.Model.Item
4 | {
5 | public interface INonFungibleItem: IItem
6 | {
7 | Guid NonFungibleId { get; }
8 | long RequiredBlockIndex { get; set; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Planet.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume
2 | {
3 | public enum Planet : byte
4 | {
5 | Odin,
6 | Heimdall,
7 | Idun,
8 | Thor,
9 | OdinInternal,
10 | HeimdallInternal,
11 | ThorInternal,
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossContributionRewardSheet.csv:
--------------------------------------------------------------------------------
1 | id,adventure_boss_id,reward_1_type,reward_1_id,reward_1_ratio,reward_2_type,reward_2_id,reward_2_ratio
2 | 1,1,Material,600201,100,,,
3 | 2,2,Material,600202,100,,,
4 | 3,3,Rune,10036,100,,,
5 | 4,4,Material,600203,100,,,
--------------------------------------------------------------------------------
/Lib9c/Model/Item/IFungibleItem.cs:
--------------------------------------------------------------------------------
1 | using System.Security.Cryptography;
2 | using Libplanet.Common;
3 |
4 | namespace Nekoyume.Model.Item
5 | {
6 | public interface IFungibleItem: IItem
7 | {
8 | HashDigest FungibleId { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/TableData/IWorldBossRewardSheet.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Nekoyume.TableData
4 | {
5 | public interface IWorldBossRewardSheet : ISheet
6 | {
7 | IReadOnlyList OrderedRows { get; }
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldUnlockSheet.csv:
--------------------------------------------------------------------------------
1 | id,world_id,stage_id,world_id_to_unlock,required_crystal
2 | 1,1,50,2,500
3 | 2,2,100,3,2500
4 | 3,3,150,4,50000
5 | 4,2,100,10001,0
6 | 5,4,200,5,100000
7 | 6,5,250,6,1000000
8 | 7,6,300,7,1000000
9 | 8,7,350,8,10000000
10 | 9,8,430,9,10000000
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashRandomBuffV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IHackAndSlashRandomBuffV1
6 | {
7 | Address AvatarAddress { get; }
8 | bool AdvancedGacha { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMigrationAvatarStateV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Bencodex.Types;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IMigrationAvatarStateV1
7 | {
8 | IEnumerable AvatarStates { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemEnhancementQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,grade,count
2 | 600001,3,11,1,1
3 | 600002,3,17,1,6
4 | 600003,6,17,2,1
5 | 600004,6,21,2,6
6 | 600005,9,21,3,1
7 | 600006,9,15,3,6
8 | 600007,9,16,4,1
9 | 600008,9,16,4,6
10 | 600009,9,16,5,1
11 | 600010,9,16,5,6
--------------------------------------------------------------------------------
/Lib9c/Model/Garages/IGarage.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Garages
2 | {
3 | public interface IGarage where T1 : IGarage
4 | {
5 | void Load(T2 amount);
6 | void Deliver(T1 to, T2 amount);
7 | void Unload(T2 amount);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IAuraSummonV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IAuraSummonV1
6 | {
7 | Address AvatarAddress { get; }
8 | int GroupId { get; }
9 |
10 | int SummonCount { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IClaimMonsterCollectionRewardV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IClaimMonsterCollectionRewardV1
6 | {
7 | Address AvatarAddress { get; }
8 | int CollectionRound { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRapidCombinationV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IRapidCombinationV1
8 | {
9 | Address AvatarAddress { get; }
10 | int SlotIndex { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRuneEnhancementV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IRuneEnhancementV1
6 | {
7 | Address AvatarAddress { get; }
8 | int RuneId { get; }
9 | int TryCount { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRuneSummonV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IRuneSummonV1
6 | {
7 | Address AvatarAddress { get; }
8 | int GroupId { get; }
9 |
10 | int SummonCount { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISellCancellationV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface ISellCancellationV1
7 | {
8 | Guid ProductId { get; }
9 | Address SellerAvatarAddress { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/Model/Quest/QuestEventType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Quest
2 | {
3 | public enum QuestEventType
4 | {
5 | Create,
6 | Enhancement,
7 | Level,
8 | Die,
9 | Complete,
10 | Equipment,
11 | Consumable,
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V1.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,rate
2 | 1,50,400000,10
3 | 1,50,500000,800
4 | 2,500,400000,8
5 | 2,500,500000,800
6 | 3,5000,400000,5
7 | 3,5000,500000,800
8 | 4,50000,400000,5
9 | 4,50000,500000,800
10 | 5,500000,400000,5
11 | 5,500000,500000,800
--------------------------------------------------------------------------------
/docs/contributing/documentation/structure.md:
--------------------------------------------------------------------------------
1 | # Structure
2 |
3 | Lib9c document has following structures:
4 |
5 | ```
6 | api/ <-- Auto-generated .NET APIs
7 | articles/ <-- Documents about Lib9c behavior
8 | contributing/ <-- Documents for Lib9c contributors
9 | ```
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICreatePendingActivationsV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Bencodex.Types;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface ICreatePendingActivationsV1
7 | {
8 | IEnumerable PendingActivations { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c.Policy/AccessControlService/IAccessControlService.cs:
--------------------------------------------------------------------------------
1 | using System.Threading.Tasks;
2 | using Libplanet.Crypto;
3 |
4 | namespace Nekoyume.Blockchain
5 | {
6 | public interface IAccessControlService
7 | {
8 | public Task GetTxQuotaAsync(Address address);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/MeadConfig.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Nekoyume
4 | {
5 | public static class MeadConfig
6 | {
7 | // mead patron address
8 | public static readonly Address PatronAddress = new Address("0xc64c7cBf29BF062acC26024D5b9D1648E8f8D2e1");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Model/Garages/IFungibleItemGarage.cs:
--------------------------------------------------------------------------------
1 | using Nekoyume.Model.Item;
2 |
3 | namespace Nekoyume.Model.Garages
4 | {
5 | public interface IFungibleItemGarage : IGarage
6 | {
7 | IFungibleItem Item { get; }
8 | int Count { get; }
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/Model/Skill/ActionBuffType.cs:
--------------------------------------------------------------------------------
1 |
2 | namespace Nekoyume.Model.Skill
3 | {
4 | public enum ActionBuffType
5 | {
6 | Bleed,
7 | Stun,
8 | Vampiric,
9 | Focus,
10 | Dispel, // Erase/defence debuffs on me
11 | IceShield,
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ItemConfigForGradeSheet.csv:
--------------------------------------------------------------------------------
1 | id,monster_parts_count_for_combination,monster_parts_count_for_combination_with_ncg,random_buff_skill_min_count_for_combination,random_buff_skill_max_count_for_combination,enhancement_limit
2 | 1,1,0,0,0,1
3 | 2,1,1,0,0,2
4 | 3,2,1,0,0,3
5 | 4,2,1,0,0,3
6 | 5,3,1,0,0,4
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldSheet.csv:
--------------------------------------------------------------------------------
1 | id,name,stage_begin,stage_end
2 | 1,Yggdrasil,1,50
3 | 2,Alfheim,51,100
4 | 3,Svartalfheim,101,150
5 | 4,Asgard,151,200
6 | 10001,Mimisbrunnr,10000001,10000020
7 | 5,Muspelheim,201,250
8 | 6,Jotunheim,251,300
9 | 7,Niflheim,301,350
10 | 8,Hel,351,400
11 | 9,Vanaheim,401,450
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICombinationConsumableV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICombinationConsumableV1
6 | {
7 | Address AvatarAddress { get; }
8 | int RecipeId { get; }
9 | int SlotIndex { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IUnlockWorldV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IUnlockWorldV1
7 | {
8 | IEnumerable WorldIds { get; }
9 | Address AvatarAddress { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableData/IWorldBossRewardRow.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.TableData
2 | {
3 | public interface IWorldBossRewardRow
4 | {
5 | int BossId { get; }
6 | int Rank { get; }
7 | int Rune { get; }
8 | int Crystal { get; }
9 | int Circle { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/Model/Skill/UnexpectedOperationException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.Model.Skill
4 | {
5 | public class UnexpectedOperationException : Exception
6 | {
7 | public UnexpectedOperationException(string message) : base(message)
8 | {
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossNcgRewardRatioSheet.csv:
--------------------------------------------------------------------------------
1 | item_id,_item_name,ratio
2 | 600201,Golden Dust,0.25
3 | 600202,Ruby Dust,1
4 | 600203,Emerald Dust,2
5 | 600301,Normal Hammer,0.001
6 | 600302,Rare Hammer,0.01
7 | 600303,Epic Hammer,0.1
8 | 600304,Unique Hammer,1
9 | 600305,Legendary Hammer,2
10 | 600306,Sacred Hammer,5
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IBuyV2.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Bencodex.Types;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IBuyV2
8 | {
9 | Address BuyerAvatarAddress { get; }
10 | IEnumerable PurchaseInfos { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IUnlockEquipmentRecipeV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IUnlockEquipmentRecipeV1
7 | {
8 | IEnumerable RecipeIds { get; }
9 | Address AvatarAddress { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MonsterCollectionRewardSheet.csv:
--------------------------------------------------------------------------------
1 | collection_level,item_id,quantity
2 | 1,400000,80
3 | 1,500000,1
4 | 2,400000,265
5 | 2,500000,2
6 | 3,400000,1265
7 | 3,500000,5
8 | 4,400000,8465
9 | 4,500000,31
10 | 5,400000,45965
11 | 5,500000,161
12 | 6,400000,120965
13 | 6,500000,361
14 | 7,400000,350965
15 | 7,500000,1121
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICreateAvatarV2.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Abstractions
2 | {
3 | public interface ICreateAvatarV2
4 | {
5 | int Index { get; }
6 | int Hair { get; }
7 | int Lens { get; }
8 | int Ear { get; }
9 | int Tail { get; }
10 | string Name { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISellCancellationV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface ISellCancellationV2
7 | {
8 | Guid ProductId { get; }
9 | Address SellerAvatarAddress { get; }
10 | string ItemSubType { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c/Action/Guild/GuildConfig.cs:
--------------------------------------------------------------------------------
1 | using Nekoyume.TypedAddress;
2 |
3 | namespace Nekoyume.Action.Guild
4 | {
5 | public static class GuildConfig
6 | {
7 | public static readonly AgentAddress PlanetariumGuildOwner =
8 | new AgentAddress("0x7ac50B13A7AA08DeeF21532a526EBbabBA6d3e6A");
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/ClaimableGiftsSheet.csv:
--------------------------------------------------------------------------------
1 | id,started_block_index,ended_block_index,item_1_id,item_1_quantity,item_1_tradable,item_2_id,item_2_quantity,item_2_tradable,item_3_id,item_3_quantity,item_3_tradable,item_4_id,item_4_quantity,item_4_tradable,item_5_id,item_5_quantity,item_5_tradable
2 | 1,12576745,12868845,40100042,1,TRUE,,,,,,,,,,,,
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SkillActionBuffSheet.csv:
--------------------------------------------------------------------------------
1 | skill_id,buff_id
2 | 500003,500001
3 | 500004,500002
4 | 500005,500003
5 | 600001,600001
6 | 700004,704000
7 | 700005,704001
8 | 700006,705000
9 | 700007,706000
10 | 700009,707000
11 | 700011,707001
12 | 700012,708000
13 | 700013,708001
14 | 700014,708002
15 | 800001,706001
16 | 800012,707002
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashSweepV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IHackAndSlashSweepV1
6 | {
7 | Address AvatarAddress { get; }
8 | int ApStoneCount { get; }
9 | int WorldId { get; }
10 | int StageId { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c/Exceptions/InvalidStateTypeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Lib9c.Exceptions
4 | {
5 | [Serializable]
6 | public class InvalidStateTypeException : Exception
7 | {
8 | public InvalidStateTypeException(string message)
9 | : base(message)
10 | {
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/RuneUsePlace.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | public enum RuneUsePlace
4 | {
5 | Adventure = 1,
6 | Arena = 2,
7 | AdventureAndArena = 3,
8 | Raid = 4,
9 | RaidAndAdventure = 5,
10 | RaidAndArena = 6,
11 | All = 7,
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRapidCombinationV2.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using System.Collections.Generic;
4 | using Libplanet.Crypto;
5 |
6 | namespace Lib9c.Abstractions
7 | {
8 | public interface IRapidCombinationV2
9 | {
10 | Address AvatarAddress { get; }
11 | List SlotIndexList { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/Battle/IStageSimulator.cs:
--------------------------------------------------------------------------------
1 | using Nekoyume.Model;
2 | using Nekoyume.TableData;
3 |
4 | namespace Nekoyume.Battle
5 | {
6 | public interface IStageSimulator : ISimulator
7 | {
8 | int StageId { get; }
9 | EnemySkillSheet EnemySkillSheet { get; }
10 | CollectionMap ItemMap { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/integrations/python/requirements.lock:
--------------------------------------------------------------------------------
1 | # generated by rye
2 | # use `rye lock` or `rye sync` to update this lockfile
3 | #
4 | # last locked with the following flags:
5 | # pre: false
6 | # features: []
7 | # all-features: false
8 | # with-sources: false
9 | # generate-hashes: false
10 | # universal: false
11 |
12 | -e file:.
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IBuyMultipleV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Bencodex.Types;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IBuyMultipleV1
8 | {
9 | Address BuyerAvatarAddress { get; }
10 | IEnumerable PurchaseInfos { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICombinationEquipmentV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICombinationEquipmentV1
6 | {
7 | Address AvatarAddress { get; }
8 | int RecipeId { get; }
9 | int SlotIndex { get; }
10 | int? SubRecipeId { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IUpdateSellV2.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Bencodex.Types;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IUpdateSellV2
8 | {
9 | Address SellerAvatarAddress { get; }
10 | IEnumerable UpdateSellInfos { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.DevExtensions/Action/Interface/IFaucetCurrency.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.DevExtensions.Action.Interface
4 | {
5 | public interface IFaucetCurrency
6 | {
7 | Address AgentAddress { get; set; }
8 | int FaucetNcg { get; set; }
9 | int FaucetCrystal { get; set; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/docs/articles/toc.yml:
--------------------------------------------------------------------------------
1 | # See https://dotnet.github.io/docfx/docs/table-of-contents.html
2 | - name: Introduction
3 | href: introduction.md
4 | - name: Getting Started
5 | href: getting-started.md
6 | - name: Currencies
7 | href: currencies/toc.yml
8 | expanded: true
9 | - name: System
10 | href: system/toc.yml
11 | expanded: true
12 |
--------------------------------------------------------------------------------
/integrations/python/requirements-dev.lock:
--------------------------------------------------------------------------------
1 | # generated by rye
2 | # use `rye lock` or `rye sync` to update this lockfile
3 | #
4 | # last locked with the following flags:
5 | # pre: false
6 | # features: []
7 | # all-features: false
8 | # with-sources: false
9 | # generate-hashes: false
10 | # universal: false
11 |
12 | -e file:.
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IItemEnhancementV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IItemEnhancementV2
7 | {
8 | Guid ItemId { get; }
9 | Guid MaterialId { get; }
10 | Address AvatarAddress { get; }
11 | int SlotIndex { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IBuyV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IBuyV1
7 | {
8 | Address BuyerAvatarAddress { get; }
9 | Address SellerAgentAddress { get; }
10 | Address SellerAvatarAddress { get; }
11 | Guid ProductId { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/Action/IClaimItems.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Nekoyume.Action
6 | {
7 | public interface IClaimItems
8 | {
9 | public IReadOnlyList<(Address address, IReadOnlyList fungibleAssetValues)> ClaimData { get; }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISellCancellationV3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface ISellCancellationV3
7 | {
8 | Guid OrderId { get; }
9 | Guid TradableId { get; }
10 | Address SellerAvatarAddress { get; }
11 | string ItemSubType { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/Model/Collection/ICollectionMaterial.cs:
--------------------------------------------------------------------------------
1 | using Bencodex;
2 | using Bencodex.Types;
3 |
4 | namespace Nekoyume.Model.Collection
5 | {
6 | public interface ICollectionMaterial: IBencodable
7 | {
8 | public MaterialType Type { get; }
9 | public int ItemId { get; set; }
10 | public int ItemCount { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IPrepareRewardAssetsV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IPrepareRewardAssetsV1
8 | {
9 | Address RewardPoolAddress { get; }
10 | IEnumerable Assets { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c/Model/Pet/PetOptionType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.Pet
2 | {
3 | public enum PetOptionType
4 | {
5 | ReduceRequiredBlock,
6 | ReduceRequiredBlockByFixedValue,
7 | AdditionalOptionRate,
8 | AdditionalOptionRateByFixedValue,
9 | IncreaseBlockPerHourglass,
10 | DiscountMaterialCostCrystal
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/graphql/headless/codegen.yml:
--------------------------------------------------------------------------------
1 | overwrite: true
2 | schema: ./graphql/headless/schema.graphql
3 | documents: ./graphql/headless/api.graphql
4 | generates:
5 | src/generated/headless/graphql-request.ts:
6 | plugins:
7 | - typescript
8 | - typescript-operations
9 | - typescript-graphql-request
10 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IEventConsumableItemCraftsV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface IEventConsumableItemCraftsV1
6 | {
7 | Address AvatarAddress { get; }
8 | int EventScheduleId { get; }
9 | int EventConsumableItemRecipeId { get; }
10 | int SlotIndex { get; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c.Proposer/ActionTypeLoaderContext.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Action;
2 |
3 | namespace Nekoyume.Blockchain
4 | {
5 | public class ActionTypeLoaderContext : IActionTypeLoaderContext
6 | {
7 | public ActionTypeLoaderContext(long index)
8 | {
9 | Index = index;
10 | }
11 |
12 | public long Index { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IGrindingV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using Libplanet.Crypto;
6 |
7 | namespace Lib9c.Abstractions
8 | {
9 | public interface IGrindingV1
10 | {
11 | Address AvatarAddress { get; }
12 | List EquipmentsIds { get; }
13 | bool ChargeAp { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c/Action/ITransferAsset.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Nekoyume.Action
6 | {
7 | public interface ITransferAsset
8 | {
9 | Address Sender { get; }
10 | Address Recipient { get; }
11 | FungibleAssetValue Amount { get; }
12 | string? Memo { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/AdventureBossUnlockFloorCostSheet.csv:
--------------------------------------------------------------------------------
1 | floor_id,golden_dust_price,ncg_price
2 | 6,100,10
3 | 11,200,20
4 | 16,300,30
5 | 21,200,20
6 | 26,100,10
7 | 36,100,10
8 | 41,200,20
9 | 46,300,30
10 | 51,200,20
11 | 56,100,10
12 | 66,100,10
13 | 71,200,20
14 | 76,300,30
15 | 81,200,20
16 | 86,100,10
17 | 96,100,10
18 | 101,200,20
19 | 106,300,30
20 | 111,200,20
21 | 116,100,10
--------------------------------------------------------------------------------
/Lib9c/TableCSV/BuffLimitSheet.csv:
--------------------------------------------------------------------------------
1 | group_id,modify_type1,percentage
2 | 206000,Percentage,-20
3 | 709000,Percentage,-50
4 | 206003,Percentage,-20
5 | 206009,Percentage,-20
6 | 702001,Add,30
7 | 108000,Add,200000
8 | 108001,Add,200000
9 | 202004,Percentage,-85
10 | 102000,Add,15000000
11 | 202000,Add,-15000000
12 | 106000,Add,15000000
13 | 105000,Add,15000000
14 | 205000,Add,-15000000
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossRankRewardSheet.csv:
--------------------------------------------------------------------------------
1 | id,boss_id,rank,rune,crystal,circle
2 | 1,900001,1,75,180000,5
3 | 2,900001,2,150,450000,15
4 | 3,900001,3,300,800000,80
5 | 4,900001,4,450,1250000,400
6 | 5,900001,5,750,1800000,500
7 | 6,900002,1,75,180000,5
8 | 7,900002,2,150,450000,15
9 | 8,900002,3,300,800000,80
10 | 9,900002,4,450,1250000,400
11 | 10,900002,5,750,1800000,500
12 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICombinationEquipmentV2.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICombinationEquipmentV2
6 | {
7 | Address AvatarAddress { get; }
8 | int RecipeId { get; }
9 | int SlotIndex { get; }
10 | int? SubRecipeId { get; }
11 | bool PayByCrystal { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IItemEnhancementV3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IItemEnhancementV3
7 | {
8 | Guid ItemId { get; }
9 | Guid MaterialId { get; }
10 | Address AvatarAddress { get; }
11 | int SlotIndex { get; }
12 | int? PetId { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c/Model/EnumType/Grade.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Model.EnumType
2 | {
3 | ///
4 | /// Enumeration of item grades.
5 | ///
6 | public enum Grade
7 | {
8 | Normal = 1,
9 | Rare = 2,
10 | Epic = 3,
11 | Unique = 4,
12 | Legendary = 5,
13 | Divinity = 6,
14 | Mythic = 7,
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/CollectQuestSheet.csv:
--------------------------------------------------------------------------------
1 | id,goal,quest_reward_id,item_id
2 | 200001,1,22,201000
3 | 200002,1,21,201001
4 | 200003,1,3,201002
5 | 200004,1,12,201003
6 | 200005,1,20,201004
7 | 200006,1,3,201005
8 | 200007,1,12,201006
9 | 200008,1,19,201007
10 | 200009,1,6,201008
11 | 200010,1,26,201009
12 | 200011,1,7,201010
13 | 200012,1,6,201011
14 | 200013,1,27,201012
15 | 200014,1,7,201013
--------------------------------------------------------------------------------
/.Lib9c.Plugin.Shared/Lib9c.Plugin.Shared.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | enable
6 | enable
7 | .bin
8 | .obj
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Lib9c.DevExtensions/Action/Interface/IFaucetRune.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 | using Nekoyume.Model.Faucet;
4 |
5 | namespace Lib9c.DevExtensions.Action.Interface
6 | {
7 | public interface IFaucetRune
8 | {
9 | Address AvatarAddress { get; set; }
10 | List FaucetRuneInfos { get; set; }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossBattleRewardSheet.csv:
--------------------------------------------------------------------------------
1 | id,boss_id,rank,rune_min,rune_max,crystal,circle
2 | 1,900001,0,2,3,0,0
3 | 2,900001,1,4,6,0,0
4 | 3,900001,2,8,12,0,0
5 | 4,900001,3,12,16,0,0
6 | 5,900001,4,15,20,0,0
7 | 6,900001,5,18,25,0,0
8 | 7,900002,0,2,3,0,0
9 | 8,900002,1,4,6,0,0
10 | 9,900002,2,8,12,0,0
11 | 10,900002,3,12,16,0,0
12 | 11,900002,4,15,20,0,0
13 | 12,900002,5,18,25,0,0
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IItemEnhancementV4.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IItemEnhancementV4
8 | {
9 | Guid ItemId { get; }
10 | List MaterialIds { get; }
11 | Address AvatarAddress { get; }
12 | int SlotIndex { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ITransferAssetV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface ITransferAssetV1
8 | {
9 | Address Sender { get; }
10 | Address Recipient { get; }
11 | FungibleAssetValue Amount { get; }
12 | string? Memo { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/graphql/headless/api.graphql:
--------------------------------------------------------------------------------
1 | mutation StageTransaction($tx: String!) {
2 | stageTransaction(payload: $tx)
3 | }
4 |
5 | query GetNextNonce($address: Address!) {
6 | nextTxNonce(address: $address)
7 | }
8 |
9 | query GetGenesisHash {
10 | nodeStatus {
11 | genesis {
12 | hash
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/.Lib9c.ActionEvaluatorCommonComponents/Random.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Action;
2 |
3 | namespace Lib9c.ActionEvaluatorCommonComponents
4 | {
5 | public class Random : System.Random, IRandom
6 | {
7 | public Random(int seed)
8 | : base(seed)
9 | {
10 | Seed = seed;
11 | }
12 |
13 | public int Seed { get; private set; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c/Extensions/ActionContextExtensions.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Action;
2 | using Nekoyume.TypedAddress;
3 |
4 | namespace Nekoyume.Extensions
5 | {
6 | public static class ActionContextExtensions
7 | {
8 | public static AgentAddress GetAgentAddress(this IActionContext context)
9 | {
10 | return new AgentAddress(context.Signer);
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Common IntelliJ Platform excludes
2 | **/.idea/
3 |
4 | # Unity generated metadata files
5 | *.meta
6 | ![Ll]ib9c/[Tt]ableCSV/**/*.meta
7 |
8 | *.suo
9 | *.user
10 | *.asmdef
11 | .vs/
12 | [Bb]in/
13 | [Oo]bj/
14 | .[Bb]in/
15 | .[Oo]bj/
16 | [Pp]ackages/
17 |
18 | Thumbs.db
19 | Desktop.ini
20 | .DS_Store
21 |
22 | # For action
23 | !.github/bin/
24 |
25 | **/.vscode/
26 | .cursor/
27 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICreateAvatarV1.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICreateAvatarV1
6 | {
7 | Address AvatarAddress { get; }
8 | int Index { get; }
9 | int Hair { get; }
10 | int Lens { get; }
11 | int Ear { get; }
12 | int Tail { get; }
13 | string Name { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IItemEnhancementV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IItemEnhancementV1
8 | {
9 | Guid ItemId { get; }
10 | IEnumerable MaterialIds { get; }
11 | Address AvatarAddress { get; }
12 | int SlotIndex { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISellV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using System;
3 | using Libplanet.Crypto;
4 | using Libplanet.Types.Assets;
5 |
6 | namespace Lib9c.Abstractions
7 | {
8 | public interface ISellV1
9 | {
10 | Address SellerAvatarAddress { get; }
11 | Guid ItemId { get; }
12 | FungibleAssetValue Price { get; }
13 | string? ItemSubType => null;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/jsr.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://jsr.io/schema/config-file.v1.json",
3 | "name": "@planetarium/lib9c",
4 | "version": "0.5.1",
5 | "exports": "./src/index.ts",
6 | "publish": {
7 | "include": [
8 | "LICENSE",
9 | "src/**/*.ts",
10 | "README.md",
11 | "CONTRIBUTING.md",
12 | "jsr.json"
13 | ]
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/docs/articles/system/toc.yml:
--------------------------------------------------------------------------------
1 | items:
2 | - name: Agent
3 | href: agent.md
4 | - name: Avatar
5 | href: avatar/toc.yml
6 | - name: Adventure
7 | href: adventure.md
8 | - name: Arena
9 | href: arena.md
10 | - name: Account
11 | href: account.md
12 | - name: Infinite Tower Sheets
13 | href: infinite-tower-sheets.md
14 | - name: Infinite Tower Sheets (한글)
15 | href: infinite-tower-sheets-ko.md
16 |
--------------------------------------------------------------------------------
/Lib9c/Action/ITransferAssets.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 | using Libplanet.Types.Assets;
5 |
6 | namespace Nekoyume.Action
7 | {
8 | public interface ITransferAssets
9 | {
10 | Address Sender { get; }
11 | List<(Address recipient, FungibleAssetValue amount)> Recipients { get; }
12 | string? Memo { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c/Exceptions/AlreadyFoughtAvatarException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.Exceptions
4 | {
5 | [Serializable]
6 | public class AlreadyFoughtAvatarException : Exception
7 | {
8 | public AlreadyFoughtAvatarException()
9 | {
10 | }
11 |
12 | public AlreadyFoughtAvatarException(string message) : base(message)
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICombinationEquipmentV3.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICombinationEquipmentV3
6 | {
7 | Address AvatarAddress { get; }
8 | int RecipeId { get; }
9 | int SlotIndex { get; }
10 | int? SubRecipeId { get; }
11 | bool PayByCrystal { get; }
12 | bool UseHammerPoint { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ITransferAssetsV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 | using Libplanet.Types.Assets;
5 |
6 | namespace Lib9c.Abstractions
7 | {
8 | public interface ITransferAssetsV1
9 | {
10 | Address Sender { get; }
11 | List<(Address recipient, FungibleAssetValue amount)> Recipients { get; }
12 | string? Memo { get; }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/tests/actions/make_guild.test.ts:
--------------------------------------------------------------------------------
1 | import { describe } from "vitest";
2 | import { MakeGuild } from "../../src/index.js";
3 | import { runTests } from "./common.js";
4 | import { validatorAddress } from "./fixtures.js";
5 |
6 | describe("MakeGuild", () => {
7 | runTests("valid case", [
8 | new MakeGuild({
9 | validatorAddress: validatorAddress,
10 | }),
11 | ]);
12 | });
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IEventMaterialItemCraftsV1.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Crypto;
3 |
4 | namespace Lib9c.Abstractions
5 | {
6 | public interface IEventMaterialItemCraftsV1
7 | {
8 | Address AvatarAddress { get; }
9 | int EventScheduleId { get; }
10 | int EventMaterialItemRecipeId { get; }
11 | IReadOnlyDictionary MaterialsToUse { get; }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossKillRewardSheet.csv:
--------------------------------------------------------------------------------
1 | id,boss_id,rank,rune_min,rune_max,crystal,circle
2 | 1,900001,0,1,2,4000,0
3 | 2,900001,1,4,7,32000,0
4 | 3,900001,2,7,12,40000,0
5 | 4,900001,3,11,17,48000,0
6 | 5,900001,4,14,22,60000,0
7 | 6,900001,5,18,28,120000,0
8 | 7,900002,0,1,2,4000,0
9 | 8,900002,1,4,7,32000,0
10 | 9,900002,2,7,12,40000,0
11 | 10,900002,3,11,17,48000,0
12 | 11,900002,4,14,22,60000,0
13 | 12,900002,5,18,28,120000,0
14 |
--------------------------------------------------------------------------------
/Lib9c/TableData/Quest/WorldQuestSheet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.TableData
4 | {
5 | [Serializable]
6 | public class WorldQuestSheet : Sheet
7 | {
8 | [Serializable]
9 | public class Row : QuestSheet.Row
10 | {
11 | }
12 |
13 | public WorldQuestSheet() : base(nameof(WorldQuestSheet))
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRaidV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IRaidV1
8 | {
9 | Address AvatarAddress { get; }
10 | IEnumerable EquipmentIds { get; }
11 | IEnumerable CostumeIds { get; }
12 | IEnumerable FoodIds { get; }
13 | bool PayNcg { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IItemEnhancementV5.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IItemEnhancementV5
8 | {
9 | Guid ItemId { get; }
10 | List MaterialIds { get; }
11 | Address AvatarAddress { get; }
12 | int SlotIndex { get; }
13 | Dictionary Hammers { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c/Extensions/AgentAddressExtensions.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 | using Nekoyume.Action;
3 | using Nekoyume.TypedAddress;
4 |
5 | namespace Nekoyume.Extensions
6 | {
7 | public static class AgentAddressExtensions
8 | {
9 | public static PledgeAddress GetPledgeAddress(this AgentAddress address)
10 | {
11 | return new PledgeAddress(((Address)address).GetPledgeAddress());
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Lib9c/TableData/Event/EventDungeonSheet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.TableData.Event
4 | {
5 | [Serializable]
6 | public class EventDungeonSheet : Sheet
7 | {
8 | [Serializable]
9 | public class Row : WorldSheet.Row
10 | {
11 | }
12 |
13 | public EventDungeonSheet() : base(nameof(EventDungeonSheet))
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.github/bin/github-release.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # Invoke github-release .
3 | set -e
4 |
5 | if [[ ! -f /tmp/github-release ]]; then
6 | wget -O /tmp/github-release.bz2 \
7 | https://github.com/github-release/github-release/releases/download/v0.10.0/linux-amd64-github-release.bz2
8 | bzip2 -d /tmp/github-release.bz2
9 | chmod +x /tmp/github-release
10 | fi
11 |
12 | /tmp/github-release "$@"
13 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ISellV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface ISellV2
8 | {
9 | Address SellerAvatarAddress { get; }
10 | Guid TradableId { get; }
11 | int Count { get; }
12 | FungibleAssetValue Price { get; }
13 | string ItemSubType { get; }
14 | Guid? OrderId => null;
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Extensions/RandomExtensions.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Action;
2 | using Libplanet.Crypto;
3 |
4 | namespace Nekoyume.Extensions
5 | {
6 | public static class RandomExtensions
7 | {
8 | public static Address GenerateAddress(this IRandom random)
9 | {
10 | var buffer = new byte[Address.Size];
11 | random.NextBytes(buffer);
12 |
13 | return new Address(buffer);
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/ICombinationEquipmentV4.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 |
3 | namespace Lib9c.Abstractions
4 | {
5 | public interface ICombinationEquipmentV4
6 | {
7 | Address AvatarAddress { get; }
8 | int RecipeId { get; }
9 | int SlotIndex { get; }
10 | int? SubRecipeId { get; }
11 | bool PayByCrystal { get; }
12 | bool UseHammerPoint { get; }
13 | int? PetId { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/jsr.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://jsr.io/schema/config-file.v1.json",
3 | "name": "@planetarium/9c-headless-provider",
4 | "version": "0.1.0",
5 | "exports": "./src/index.ts",
6 | "publish": {
7 | "include": [
8 | "LICENSE",
9 | "src/**/*.ts",
10 | "README.md",
11 | "jsr.json"
12 | ],
13 | "exclude": [
14 | "!src/generated"
15 | ]
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/PatrolRewardSheet.csv:
--------------------------------------------------------------------------------
1 | id,start,end,interval,min_level,max_level,reward1_count,reward1_item_id,reward1_ticker,reward2_count,reward2_item_id,reward2_ticker,reward3_count,reward3_item_id,reward3_ticker,reward4_count,reward4_item_id,reward4_ticker
2 | 1,13212674,13569074,10,1,200,1000,600202,,1000,600203,,,,,,,
3 | 2,13212674,13569074,10,201,350,1000,600202,,1000,600203,,100000,,CRYSTAL,,,
4 | 3,13212674,13569074,10,351,,1000,600202,,1000,600203,,200000,,CRYSTAL,,,
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IBattleGrandFinaleV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IBattleGrandFinaleV1
8 | {
9 | Address MyAvatarAddress { get; }
10 | Address EnemyAvatarAddress { get; }
11 | int GrandFinaleId { get; }
12 | IEnumerable Costumes { get; }
13 | IEnumerable Equipments { get; }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c/Action/IPurchaseInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 | using Nekoyume.Model.Item;
5 |
6 | namespace Nekoyume.Action
7 | {
8 | public interface IPurchaseInfo
9 | {
10 | Guid? OrderId { get; }
11 | Address SellerAgentAddress { get; }
12 | Address SellerAvatarAddress { get; }
13 | FungibleAssetValue Price { get; }
14 | ItemSubType ItemSubType { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/Dead.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public class Dead : EventBase
8 | {
9 | public Dead(CharacterBase character) : base(character)
10 | {
11 | }
12 |
13 | public override IEnumerator CoExecute(IStage stage)
14 | {
15 | yield return stage.CoDead(Character);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/EventDungeonSheet.csv:
--------------------------------------------------------------------------------
1 | id,name,stage_begin,stage_end
2 | 10010001,Monster Island,10010001,10010020
3 | 10030001,World Horizon,10030001,10030020
4 | 10090001,Treasure Valley,10090001,10090020
5 | 10100001,Moca Planet,10100001,10100020
6 | 10110001,Citrus Carnival,10110001,10110020
7 | 10120001,1st Anniversary,10120001,10120020
8 | 10130001,Ragnarok Fields,10130001,10130020
9 | 10140001,Dust Valut,10140001,10140020
10 | 10150001,Ruby Dust Valut,10150001,10150020
--------------------------------------------------------------------------------
/Lib9c/TableData/Event/EventDungeonStageSheet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.TableData.Event
4 | {
5 | [Serializable]
6 | public class EventDungeonStageSheet : Sheet
7 | {
8 | [Serializable]
9 | public class Row : StageSheet.Row
10 | {
11 | }
12 |
13 | public EventDungeonStageSheet() : base(nameof(EventDungeonStageSheet))
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/IBuy5.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Libplanet.Action;
3 | using Libplanet.Crypto;
4 |
5 | namespace Nekoyume.Action
6 | {
7 | ///
8 | /// Common interface used after .
9 | ///
10 | ///
11 | public interface IBuy5 : IAction
12 | {
13 | Address buyerAvatarAddress { get; }
14 | IEnumerable purchaseInfos { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughStarException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public class NotEnoughStarException : Exception
7 | {
8 | public NotEnoughStarException(string s) : base(s)
9 | {
10 | }
11 |
12 | protected NotEnoughStarException(SerializationInfo info, StreamingContext context) :
13 | base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/PetIsLockedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class PetIsLockedException : Exception
8 | {
9 | public PetIsLockedException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public PetIsLockedException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/EventBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public abstract class EventBase
8 | {
9 | public readonly CharacterBase Character;
10 |
11 | protected EventBase(CharacterBase character)
12 | {
13 | Character = character;
14 | }
15 |
16 | public abstract IEnumerator CoExecute(IStage stage);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeRegularRewardSheet_V2.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,item_id,rate,type
2 | 1,50,400000,10,Item
3 | 1,50,500000,800,Item
4 | 1,50,20001,6000,Rune
5 | 2,500,400000,8,Item
6 | 2,500,500000,800,Item
7 | 2,500,20001,6000,Rune
8 | 3,5000,400000,5,Item
9 | 3,5000,500000,800,Item
10 | 3,5000,20001,6000,Rune
11 | 4,50000,400000,5,Item
12 | 4,50000,500000,800,Item
13 | 4,50000,20001,6000,Rune
14 | 5,500000,400000,5,Item
15 | 5,500000,500000,800,Item
16 | 5,500000,20001,6000,Rune
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV6.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV6
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/.github/workflows/release.yaml:
--------------------------------------------------------------------------------
1 | name: release
2 |
3 | on:
4 | push:
5 | tags:
6 | - v*
7 |
8 | jobs:
9 | release:
10 | name: release
11 | runs-on: ubuntu-latest
12 | steps:
13 | - uses: actions/checkout@v4
14 | - uses: actions/setup-dotnet@v4
15 | with:
16 | dotnet-version: 6.0.x
17 | - run: .github/bin/dist-pack.sh
18 | - run: .github/bin/dist-github-release.sh
19 | env:
20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughMedalException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class NotEnoughMedalException : Exception
8 | {
9 | public NotEnoughMedalException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public NotEnoughMedalException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidLevelException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidLevelException : InvalidOperationException
8 | {
9 | public InvalidLevelException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected InvalidLevelException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/PlayCountIsZeroException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class PlayCountIsZeroException : Exception
8 | {
9 | public PlayCountIsZeroException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public PlayCountIsZeroException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/RemoveBuffs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public class RemoveBuffs : EventBase
8 | {
9 | public RemoveBuffs(CharacterBase character) : base(character)
10 | {
11 | }
12 |
13 | public override IEnumerator CoExecute(IStage stage)
14 | {
15 | yield return stage.CoRemoveBuffs(Character);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c.Policy/Lib9c.Policy.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | disable
6 | enable
7 | .bin
8 | .obj
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidPriceException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidPriceException : ArgumentOutOfRangeException
8 | {
9 | public InvalidPriceException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected InvalidPriceException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/Arena/ArenaDead.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus.Arena
5 | {
6 | [Serializable]
7 | public class ArenaDead : ArenaEventBase
8 | {
9 | public ArenaDead(ArenaCharacter character) : base(character)
10 | {
11 | }
12 |
13 | public override IEnumerator CoExecute(IArena arena)
14 | {
15 | yield return arena.CoDead(Character);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/Arena/ArenaSpawnCharacter.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 |
3 | namespace Nekoyume.Model.BattleStatus.Arena
4 | {
5 | public class ArenaSpawnCharacter : ArenaEventBase
6 | {
7 | public ArenaSpawnCharacter(ArenaCharacter character) : base(character)
8 | {
9 | }
10 |
11 | public override IEnumerator CoExecute(IArena arena)
12 | {
13 | yield return arena.CoSpawnCharacter(Character);
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IUpdateSellV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Crypto;
3 | using Libplanet.Types.Assets;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IUpdateSellV1
8 | {
9 | Guid OrderId { get; }
10 | Guid UpdateSellOrderId { get; }
11 | Guid TradableId { get; }
12 | Address SellerAvatarAddress { get; }
13 | string ItemSubType { get; }
14 | FungibleAssetValue Price { get; }
15 | int Count { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/AvatarIndexOutOfRangeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public class AvatarIndexOutOfRangeException : Exception
7 | {
8 | public AvatarIndexOutOfRangeException(string message) : base(message)
9 | {
10 | }
11 |
12 | protected AvatarIndexOutOfRangeException(SerializationInfo info, StreamingContext context) : base(info, context)
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughHammerPointException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public class NotEnoughHammerPointException : Exception
7 | {
8 | public NotEnoughHammerPointException(string s) : base(s)
9 | {
10 | }
11 |
12 | protected NotEnoughHammerPointException(SerializationInfo info, StreamingContext context) :
13 | base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/SpawnPlayer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public class SpawnPlayer : EventBase
8 | {
9 | public override IEnumerator CoExecute(IStage stage)
10 | {
11 | yield return stage.CoSpawnPlayer((Player)Character);
12 | }
13 |
14 | public SpawnPlayer(CharacterBase character) : base(character)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/DuplicateCostumeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class DuplicateCostumeException: InvalidOperationException
8 | {
9 | public DuplicateCostumeException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected DuplicateCostumeException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/DuplicateOrderIdException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class DuplicateOrderIdException : InvalidOperationException
8 | {
9 | public DuplicateOrderIdException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected DuplicateOrderIdException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidCurrencyException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidCurrencyException : InvalidOperationException
8 | {
9 | public InvalidCurrencyException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected InvalidCurrencyException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidItemTypeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidItemTypeException : InvalidOperationException
8 | {
9 | public InvalidItemTypeException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected InvalidItemTypeException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidMaterialException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidMaterialException : InvalidOperationException
8 | {
9 | public InvalidMaterialException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected InvalidMaterialException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidShopItemException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidShopItemException : InvalidOperationException
8 | {
9 | public InvalidShopItemException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected InvalidShopItemException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidTradableItemException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public class InvalidTradableItemException : InvalidOperationException
7 | {
8 | public InvalidTradableItemException(string message) : base(message)
9 | {
10 | }
11 |
12 | protected InvalidTradableItemException(SerializationInfo info, StreamingContext context) : base(info, context)
13 | {
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/ProductNotFoundException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ProductNotFoundException : InvalidOperationException
8 | {
9 | public ProductNotFoundException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public ProductNotFoundException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/Arena/ArenaEventBase.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus.Arena
5 | {
6 | [Serializable]
7 | public abstract class ArenaEventBase
8 | {
9 | public readonly ArenaCharacter Character;
10 |
11 | protected ArenaEventBase(ArenaCharacter character)
12 | {
13 | Character = character;
14 | }
15 |
16 | public abstract IEnumerator CoExecute(IArena arena);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/StakeAchievementRewardSheet.csv:
--------------------------------------------------------------------------------
1 | level,required_gold,required_block_index,item_id,quantity
2 | 0,10,50400,400000,0
3 | 0,10,50400,500000,0
4 | 0,10,151200,400000,0
5 | 0,10,151200,500000,0
6 | 0,10,302400,400000,0
7 | 0,10,302400,500000,0
8 | 0,10,604800,400000,0
9 | 0,10,604800,500000,0
10 | 1,100,50400,400000,0
11 | 1,100,50400,500000,0
12 | 1,100,151200,400000,0
13 | 1,100,151200,500000,0
14 | 1,100,302400,400000,0
15 | 1,100,302400,500000,0
16 | 1,100,604800,400000,0
17 | 1,100,604800,500000,0
--------------------------------------------------------------------------------
/.Lib9c.Tests/Action/DamageHelperTest.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.Action
2 | {
3 | using Xunit;
4 |
5 | public class DamageHelperTest
6 | {
7 | [Theory]
8 | [InlineData(long.MaxValue, 0.19)]
9 | [InlineData(4000L, 0.6)]
10 | [InlineData(long.MinValue, 0)]
11 | public void GetDamageReductionRate(long drr, decimal expected)
12 | {
13 | Assert.Equal(expected, Nekoyume.Battle.DamageHelper.GetDamageReductionRate(drr));
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/ArenaNotEndedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ArenaNotEndedException : InvalidOperationException
8 | {
9 | public ArenaNotEndedException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected ArenaNotEndedException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/CostumeSlotUnlockException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class CostumeSlotUnlockException : InvalidOperationException
8 | {
9 | public CostumeSlotUnlockException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected CostumeSlotUnlockException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/DuplicateMaterialException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class DuplicateMaterialException : InvalidOperationException
8 | {
9 | public DuplicateMaterialException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected DuplicateMaterialException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/ItemDoesNotExistException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ItemDoesNotExistException : InvalidOperationException
8 | {
9 | public ItemDoesNotExistException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public ItemDoesNotExistException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughActionPointException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class NotEnoughActionPointException : Exception
8 | {
9 | public NotEnoughActionPointException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | public NotEnoughActionPointException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughMaterialException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class NotEnoughMaterialException : InvalidOperationException
8 | {
9 | public NotEnoughMaterialException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected NotEnoughMaterialException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/9c-headless-provider/biome.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
3 | "linter": {
4 | "enabled": true,
5 | "rules": {
6 | "style": {
7 | "useNodejsImportProtocol": "off"
8 | }
9 | }
10 | },
11 | "formatter": {
12 | "enabled": true,
13 | "indentStyle": "space",
14 | "indentWidth": 2
15 | },
16 | "files": {
17 | "ignore": [
18 | "src/generated"
19 | ]
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/tests/actions/stake.test.ts:
--------------------------------------------------------------------------------
1 | import { describe } from "vitest";
2 | import { Stake } from "../../src/index.js";
3 | import { runTests } from "./common.js";
4 | import { avatarAddress } from "./fixtures.js";
5 |
6 | describe("Stake", () => {
7 | runTests("valid case", [
8 | new Stake({
9 | amount: 1n,
10 | avatarAddress: avatarAddress,
11 | }),
12 | new Stake({
13 | amount: 1n,
14 | avatarAddress: null,
15 | }),
16 | ]);
17 | });
18 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Action/CreateTestbedTest.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.Action
2 | {
3 | using System.Linq;
4 | using Lib9c.Tests.TestHelper;
5 | using Xunit;
6 |
7 | public class CreateTestbedTest
8 | {
9 | [Fact]
10 | public void Execute()
11 | {
12 | var result = BlockChainHelper.MakeInitialState();
13 | var testbed = result.GetTestbed();
14 | Assert.Equal(testbed.Orders.Count(), testbed.result.ItemInfos.Count);
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Action/ValidatorDelegation/ConstantTest.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 | namespace Lib9c.Tests.Action.ValidatorDelegation;
3 |
4 | using Nekoyume.ValidatorDelegation;
5 | using Xunit;
6 |
7 | public class ConstantTest
8 | {
9 | [Fact(Skip = "Allow after positive unbonding period")]
10 | public void StaticPropertyTest()
11 | {
12 | Assert.True(ValidatorDelegatee.MaxCommissionPercentage < int.MaxValue);
13 | Assert.True(ValidatorDelegatee.MaxCommissionPercentage >= 0);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV5.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV5
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int PlayCount { get; }
15 | Address AvatarAddress { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRankingBattleV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IRankingBattleV1
8 | {
9 | Address AvatarAddress { get; }
10 | Address EnemyAddress { get; }
11 | Address WeeklyArenaAddress { get; }
12 | IEnumerable CostumeIds { get; }
13 | IEnumerable EquipmentIds { get; }
14 | IEnumerable ConsumableIds { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/DuplicateEquipmentException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class DuplicateEquipmentException: InvalidOperationException
8 | {
9 | public DuplicateEquipmentException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected DuplicateEquipmentException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidNamePatternException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidNamePatternException : InvalidOperationException
8 | {
9 | public InvalidNamePatternException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected InvalidNamePatternException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughCombatPointException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public class NotEnoughCombatPointException : InvalidOperationException
7 | {
8 | public NotEnoughCombatPointException(string s) : base(s)
9 | {
10 | }
11 |
12 | protected NotEnoughCombatPointException(SerializationInfo info, StreamingContext context) :
13 | base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Util/AddressUtil.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.Util
2 | {
3 | using Libplanet.Crypto;
4 | using Nekoyume.TypedAddress;
5 |
6 | public static class AddressUtil
7 | {
8 | public static AgentAddress CreateAgentAddress()
9 | {
10 | return new AgentAddress(new PrivateKey().Address);
11 | }
12 |
13 | public static GuildAddress CreateGuildAddress()
14 | {
15 | return new GuildAddress(new PrivateKey().Address);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashSweepV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashSweepV2
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | Address AvatarAddress { get; }
12 | int ApStoneCount { get; }
13 | int ActionPoint { get; }
14 | int WorldId { get; }
15 | int StageId { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV7.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV7
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int? StageBuffId { get; }
15 | Address AvatarAddress { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRaidV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Bencodex.Types;
4 | using Libplanet.Crypto;
5 |
6 | namespace Lib9c.Abstractions
7 | {
8 | public interface IRaidV2
9 | {
10 | Address AvatarAddress { get; }
11 | IEnumerable EquipmentIds { get; }
12 | IEnumerable CostumeIds { get; }
13 | IEnumerable FoodIds { get; }
14 | IEnumerable RuneSlotInfos { get; }
15 | bool PayNcg { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/AlreadyReceivedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AlreadyReceivedException : InvalidOperationException
8 | {
9 | public AlreadyReceivedException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected AlreadyReceivedException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidProductTypeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidProductTypeException : InvalidOperationException
8 | {
9 | public InvalidProductTypeException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected InvalidProductTypeException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/SynthesizeSheet.csv:
--------------------------------------------------------------------------------
1 | grade_id,item_sub_type,required_count,succeed_rate
2 | _value of successful_rate is between 0 and 10000,,,
3 | 1,Aura,15,10000
4 | 2,Aura,15,10000
5 | 3,Aura,15,10000
6 | 3,Grimoire,10,10000
7 | 3,FullCostume,20,10000
8 | 4,Aura,15,10000
9 | 4,Grimoire,15,10000
10 | 4,FullCostume,20,10000
11 | 5,Aura,16,10000
12 | 5,Grimoire,16,10000
13 | 5,FullCostume,20,10000
14 | 6,Aura,12,10000
15 | 6,Grimoire,12,10000
16 | 6,FullCostume,15,10000
17 | 7,Aura,1,0
18 | 7,Grimoire,1,0
19 | 7,FullCostume,1,0
--------------------------------------------------------------------------------
/.github/bin/constants.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
4 | rids=(linux-x64 osx-x64 osx-arm64 win-x64)
5 |
6 | # Publish a package only if the repository is upstream (planetarium/lib9c)
7 | # and the branch is for releases (main or *-maintenance or 9c-*).
8 | # shellcheck disable=SC2235
9 | if [ "$GITHUB_REPOSITORY" = "planetarium/lib9c" ] && [[ \
10 | "$GITHUB_REF" = refs/tags/* || \
11 | "$GITHUB_REF" = refs/heads/main
12 | ]]; then
13 | publish_package=true
14 | fi
15 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMimisbrunnrBattleV4.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IMimisbrunnrBattleV4
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int PlayCount { get; }
15 | Address AvatarAddress { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/AlreadyActivatedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AlreadyActivatedException : InvalidOperationException
8 | {
9 | public AlreadyActivatedException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected AlreadyActivatedException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/ConsumableSlotUnlockException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ConsumableSlotUnlockException : InvalidOperationException
8 | {
9 | public ConsumableSlotUnlockException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected ConsumableSlotUnlockException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/IBuy0.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Libplanet.Action;
3 | using Libplanet.Crypto;
4 |
5 | namespace Nekoyume.Action
6 | {
7 | ///
8 | /// Common interface used before .
9 | ///
10 | ///
11 | public interface IBuy0 : IAction
12 | {
13 | Address buyerAvatarAddress { get; }
14 | Address sellerAgentAddress { get; }
15 | Address sellerAvatarAddress { get; }
16 | Guid productId { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidTradableIdException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidTradableIdException : InvalidOperationException
8 | {
9 | protected InvalidTradableIdException(SerializationInfo info, StreamingContext context) : base(info, context)
10 | {
11 | }
12 |
13 | public InvalidTradableIdException(string message) : base(message)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/MemoLengthOverflowException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class MemoLengthOverflowException : InvalidOperationException
8 | {
9 | public MemoLengthOverflowException(string message) : base(message)
10 | {
11 | }
12 |
13 | protected MemoLengthOverflowException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/OrderIdDoesNotExistException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class OrderIdDoesNotExistException : InvalidOperationException
8 | {
9 | public OrderIdDoesNotExistException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected OrderIdDoesNotExistException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/Arena/ArenaRemoveBuffs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus.Arena
5 | {
6 | [Serializable]
7 | public class ArenaRemoveBuffs : ArenaEventBase
8 | {
9 | public ArenaRemoveBuffs(ArenaCharacter character) : base(character)
10 | {
11 | }
12 |
13 | public override IEnumerator CoExecute(IArena arena)
14 | {
15 | yield return arena.CoRemoveBuffs(Character);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/SpawnEnemyPlayer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public class SpawnEnemyPlayer : EventBase
8 | {
9 | public SpawnEnemyPlayer(CharacterBase character) : base(character)
10 | {
11 | }
12 |
13 | public override IEnumerator CoExecute(IStage stage)
14 | {
15 | yield return stage.CoSpawnEnemyPlayer((EnemyPlayer)Character);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/integrations/python/README.md:
--------------------------------------------------------------------------------
1 | ## Description:
2 | This is a Python library designed for managing integrations and dependencies within the /integrations/python directory. The library follows PEP 621 standards for configuration and uses rye as the dependency manager and build tool.
3 |
4 | ## Installation:
5 | Install dependencies with rye
6 | ```
7 | rye sync
8 | ```
9 |
10 | ## Project Setup
11 | This project is configured with a pyproject.toml file following PEP 621 standards, which defines dependencies and project metadata.
12 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV3
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | Address RankingMapAddress { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/AlreadyContractedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AlreadyContractedException : InvalidOperationException
8 | {
9 | public AlreadyContractedException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected AlreadyContractedException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/AvatarIndexAlreadyUsedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AvatarIndexAlreadyUsedException : InvalidOperationException
8 | {
9 | public AvatarIndexAlreadyUsedException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected AvatarIndexAlreadyUsedException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/EquipmentLevelExceededException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class EquipmentLevelExceededException : InvalidOperationException
8 | {
9 | public EquipmentLevelExceededException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected EquipmentLevelExceededException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Arena/IArenaSimulator.cs:
--------------------------------------------------------------------------------
1 |
2 | using Libplanet.Action;
3 | using Nekoyume.Model.BattleStatus.Arena;
4 | using Nekoyume.TableData;
5 |
6 | namespace Nekoyume.Arena
7 | {
8 | public interface IArenaSimulator
9 | {
10 | public ArenaLog Log { get; }
11 | public IRandom Random { get; }
12 | public int Turn { get; }
13 | public long ShatterStrikeMaxDamage { get; }
14 | public BuffLimitSheet BuffLimitSheet { get; }
15 | BuffLinkSheet BuffLinkSheet { get; set; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/cli/main.ts:
--------------------------------------------------------------------------------
1 | import { NCG, TransferAsset, fav } from "../src/index.js";
2 | import { Address } from "@planetarium/account";
3 | import { Buffer } from "buffer";
4 |
5 | const action = new TransferAsset({
6 | sender: Address.fromHex("0x2cBaDf26574756119cF705289C33710F27443767"),
7 | recipient: Address.fromHex("0x2cBaDf26574756119cF705289C33710F27443767"),
8 | amount: fav(NCG, 2),
9 | });
10 |
11 | const bytes = action.serialize();
12 | console.log(Buffer.from(bytes).toString("hex"));
13 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/docs/ko/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | # https://vitepress.dev/reference/default-theme-home-page
3 | layout: home
4 |
5 | hero:
6 | name: "@planetarium/lib9c"
7 | text: "나인크로니클 써드파티 앱을 위한 라이브러리"
8 | tagline: 나인크로니클 액션을 보다 쉽게 만드세요
9 | actions:
10 | - theme: brand
11 | text: 문서
12 | link: /ko/docs/index.md
13 |
14 | features:
15 | - title: 타입스크립트
16 | details: 나인크로니클 프로토콜의 여러 액션들을 타입과 함께 지원합니다.
17 | - title: 유틸리티
18 | details: 트랜잭션을 보다 쉽게 만들기 위한 유틸리티를 제공합니다.
19 | ---
20 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Delegation/DummyDelegator.cs:
--------------------------------------------------------------------------------
1 | using Libplanet.Crypto;
2 | using Nekoyume.Delegation;
3 |
4 | public sealed class DummyDelegator : Delegator
5 | {
6 | public DummyDelegator(Address address, DummyRepository repository)
7 | : base(address, repository)
8 | {
9 | }
10 |
11 | public DummyDelegator(Address address, Address accountAddress, DummyRepository repo)
12 | : base(address, accountAddress, address, address, repo)
13 | {
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMimisbrunnrBattleV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IMimisbrunnrBattleV2
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | Address RankingMapAddress { get; }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IRankingBattleV2.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using Libplanet.Crypto;
6 |
7 | namespace Lib9c.Action
8 | {
9 | public interface IRankingBattleV2
10 | {
11 | Address AvatarAddress { get; }
12 | Address EnemyAddress { get; }
13 | Address WeeklyArenaAddress { get; }
14 | IEnumerable CostumeIds { get; }
15 | IEnumerable EquipmentIds { get; }
16 | IEnumerable? ConsumableIds => null;
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Model/Guild/GuildApplicationTest.Snapshot.verified.txt:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | EncodingLength: 21,
4 | Kind: Text,
5 | Value: guild_application
6 | },
7 | {
8 | EncodingLength: 3,
9 | Kind: Integer,
10 | Value: 1
11 | },
12 | [
13 | 217,
14 | 40,
15 | 174,
16 | 135,
17 | 49,
18 | 29,
19 | 234,
20 | 212,
21 | 144,
22 | 201,
23 | 134,
24 | 194,
25 | 76,
26 | 194,
27 | 60,
28 | 55,
29 | 239,
30 | 248,
31 | 146,
32 | 242
33 | ]
34 | ]
35 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Model/Guild/GuildParticipantTest.Snapshot.verified.txt:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | EncodingLength: 21,
4 | Kind: Text,
5 | Value: guild_participant
6 | },
7 | {
8 | EncodingLength: 3,
9 | Kind: Integer,
10 | Value: 2
11 | },
12 | [
13 | 217,
14 | 40,
15 | 174,
16 | 135,
17 | 49,
18 | 29,
19 | 234,
20 | 212,
21 | 144,
22 | 201,
23 | 134,
24 | 194,
25 | 76,
26 | 194,
27 | 60,
28 | 55,
29 | 239,
30 | 248,
31 | 146,
32 | 242
33 | ]
34 | ]
35 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IJoinArenaV1.cs:
--------------------------------------------------------------------------------
1 | #nullable enable
2 |
3 | using System;
4 | using System.Collections.Generic;
5 | using Bencodex.Types;
6 | using Libplanet.Crypto;
7 |
8 | namespace Lib9c.Abstractions
9 | {
10 | public interface IJoinArenaV1
11 | {
12 | Address AvatarAddress { get; }
13 | int ChampionshipId { get; }
14 | int Round { get; }
15 | IEnumerable Costumes { get; }
16 | IEnumerable Equipments { get; }
17 | IEnumerable? RuneSlotInfos => null;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c.Utils/Lib9c.Utils.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | disable
6 | enable
7 | .bin
8 | .obj
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/AppraiseBlockNotReachedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AppraiseBlockNotReachedException : Exception
8 | {
9 | public AppraiseBlockNotReachedException(string message) : base(message)
10 | {
11 | }
12 |
13 | protected AppraiseBlockNotReachedException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Model/BattleStatus/GetExp.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 |
4 | namespace Nekoyume.Model.BattleStatus
5 | {
6 | [Serializable]
7 | public class GetExp : EventBase
8 | {
9 | public long Exp { get; }
10 |
11 | public GetExp(CharacterBase character, long exp) : base(character)
12 | {
13 | Exp = exp;
14 | }
15 |
16 | public override IEnumerator CoExecute(IStage stage)
17 | {
18 | yield return stage.CoGetExp(Exp);
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/TableData/Event/EventConsumableItemRecipeSheet.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Nekoyume.TableData.Event
4 | {
5 | [Serializable]
6 | public class EventConsumableItemRecipeSheet
7 | : Sheet
8 | {
9 | [Serializable]
10 | public class Row : ConsumableItemRecipeSheet.Row
11 | {
12 | }
13 |
14 | public EventConsumableItemRecipeSheet()
15 | : base(nameof(EventConsumableItemRecipeSheet))
16 | {
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/integrations/javascript/@planetarium/lib9c/src/models/networks.ts:
--------------------------------------------------------------------------------
1 | import { Buffer } from "buffer";
2 |
3 | /**
4 | * The genesis hash of the Odin network.
5 | */
6 | export const ODIN_GENESIS_HASH: Uint8Array = Buffer.from(
7 | "4582250d0da33b06779a8475d283d5dd210c683b9b999d74d03fac4f58fa6bce",
8 | "hex",
9 | );
10 |
11 | /**
12 | * The genesis hash of the Heimdall network.
13 | */
14 | export const HEIMDALL_GENESIS_HASH: Uint8Array = Buffer.from(
15 | "729fa26958648a35b53e8e3905d11ec53b1b4929bf5f499884aed7df616f5913",
16 | "hex",
17 | );
18 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV8.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV8
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int? StageBuffId { get; }
15 | int PlayCount { get; }
16 | Address AvatarAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/CombinationSlotResultNullException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class CombinationSlotResultNullException : Exception
8 | {
9 | public CombinationSlotResultNullException(string message) : base (message)
10 | {
11 | }
12 |
13 | public CombinationSlotResultNullException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidStageException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidStageException : Exception
8 | {
9 | public InvalidStageException()
10 | {
11 | }
12 |
13 | public InvalidStageException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidStageException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/MonsterCollectionExpiredException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class MonsterCollectionExpiredException : InvalidOperationException
8 | {
9 | public MonsterCollectionExpiredException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected MonsterCollectionExpiredException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/MimisbrunnrSheet.csv:
--------------------------------------------------------------------------------
1 | id,elemental_type_1,elemental_type_2,elemental_type_3,elemental_type_4,elemental_type_5
2 | 10000001,Fire,,,,
3 | 10000002,Fire,,,,
4 | 10000003,Fire,,,,
5 | 10000004,Fire,,,,
6 | 10000005,Fire,,,,
7 | 10000006,Fire,,,,
8 | 10000007,Fire,,,,
9 | 10000008,Fire,,,,
10 | 10000009,Fire,,,,
11 | 10000010,Fire,,,,
12 | 10000011,Fire,,,,
13 | 10000012,Fire,,,,
14 | 10000013,Fire,,,,
15 | 10000014,Fire,,,,
16 | 10000015,Fire,,,,
17 | 10000016,Fire,,,,
18 | 10000017,Fire,,,,
19 | 10000018,Fire,,,,
20 | 10000019,Fire,,,,
21 | 10000020,Fire,,,,
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV4.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV4
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int PlayCount { get; }
15 | Address AvatarAddress { get; }
16 | Address RankingMapAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/ActivationException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | public abstract class ActivationException : Exception
7 | {
8 | protected ActivationException()
9 | {
10 | }
11 |
12 | protected ActivationException(string message) : base(message)
13 | {
14 | }
15 |
16 | protected ActivationException(SerializationInfo info, StreamingContext context)
17 | : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidMonsterCollectionRoundException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidMonsterCollectionRoundException : InvalidOperationException
8 | {
9 | public InvalidMonsterCollectionRoundException(string msg) : base(msg)
10 | {
11 | }
12 |
13 | protected InvalidMonsterCollectionRoundException(SerializationInfo info, StreamingContext context) : base(info, context)
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidTransferCurrencyException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidTransferCurrencyException : InvalidOperationException
8 | {
9 | protected InvalidTransferCurrencyException(SerializationInfo info, StreamingContext context)
10 | : base(info, context)
11 | {
12 | }
13 |
14 | public InvalidTransferCurrencyException(string message) : base(message)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/ValidatorSetOperatorType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Action
2 | {
3 | public enum ValidatorSetOperatorType
4 | {
5 | ///
6 | /// Append the validator. no-op if validator public key already exists.
7 | ///
8 | Append,
9 |
10 | ///
11 | /// Set validator's power to 0.
12 | ///
13 | Remove,
14 |
15 | ///
16 | /// Update validator. if not exists, append it.
17 | ///
18 | Update,
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidWorldException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidWorldException: Exception
8 | {
9 | public InvalidWorldException()
10 | {
11 | }
12 |
13 | public InvalidWorldException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidWorldException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Action/ShopErrorType.cs:
--------------------------------------------------------------------------------
1 | namespace Nekoyume.Action
2 | {
3 | public enum ShopErrorType
4 | {
5 | ERROR_CODE_FAILED_LOADING_STATE = 1,
6 | ERROR_CODE_ITEM_DOES_NOT_EXIST = 2,
7 | ERROR_CODE_SHOPITEM_EXPIRED = 3,
8 | ERROR_CODE_INSUFFICIENT_BALANCE = 4,
9 | ERROR_CODE_INVALID_ADDRESS = 5,
10 | ERROR_CODE_INVALID_PRICE = 6,
11 | ERROR_CODE_INVALID_ORDERID = 7,
12 | ERROR_CODE_INVALID_TRADABLEID = 8,
13 | ERROR_CODE_INVALID_ITEMTYPE = 9,
14 | ERROR_CODE_DUPLICATE_SELL = 10
15 | }
16 | }
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV1
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | Address WeeklyArenaAddress { get; }
16 | Address RankingMapAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashV2.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IHackAndSlashV2
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | Address WeeklyArenaAddress { get; }
16 | Address RankingMapAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMimisbrunnrBattleV3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IMimisbrunnrBattleV3
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | int PlayCount { get; }
15 | Address AvatarAddress { get; }
16 | Address RankingMapAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c.Renderers/Lib9c.Renderers.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | disable
6 | enable
7 | .bin
8 | .obj
9 | $(Lib9cVersion)
10 | Lib9c
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidClaimException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidClaimException : InvalidOperationException
8 | {
9 | public InvalidClaimException()
10 | {
11 | }
12 |
13 | public InvalidClaimException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidClaimException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Model/Collection/CollectionFactory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Bencodex.Types;
3 |
4 | namespace Nekoyume.Model.Collection
5 | {
6 | public static class CollectionFactory
7 | {
8 | public static ICollectionMaterial DeserializeMaterial(List serialized)
9 | {
10 | if ((Integer)serialized[0] == (int)MaterialType.Fungible)
11 | {
12 | return new FungibleCollectionMaterial(serialized);
13 | }
14 |
15 | return new NonFungibleCollectionMaterial(serialized);
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidElementalException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidElementalException : Exception
8 | {
9 | public InvalidElementalException()
10 | {
11 | }
12 |
13 | public InvalidElementalException(string message) : base(message)
14 | {
15 | }
16 |
17 | protected InvalidElementalException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidEquipmentException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidEquipmentException : Exception
8 | {
9 | public InvalidEquipmentException()
10 | {
11 | }
12 |
13 | public InvalidEquipmentException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidEquipmentException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidRecipeIdException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidRecipeIdException: Exception
8 | {
9 | public InvalidRecipeIdException()
10 | {
11 | }
12 |
13 | public InvalidRecipeIdException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidRecipeIdException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Model/State/ShopStateAlreadyContainsException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Model.State
5 | {
6 | [Serializable]
7 | public class ShopStateAlreadyContainsException : Exception
8 | {
9 | public ShopStateAlreadyContainsException(string message) : base(message)
10 | {
11 | }
12 |
13 | protected ShopStateAlreadyContainsException(
14 | SerializationInfo info,
15 | StreamingContext context) : base(info, context)
16 | {
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c/TableCSV/WorldBossActionPatternSheet.csv:
--------------------------------------------------------------------------------
1 | boss_id,wave,skill_ids
2 | 900001,1,"500003,100000,100000,100000"
3 | 900001,2,"500003,100000,100000,100003,100000"
4 | 900001,3,"500003,100003,100000,500001,100000"
5 | 900001,4,"500004,100003,100000,500001,100000,500002"
6 | 900001,5,"500005,100003,100000,500001,100000,500002"
7 | 900002,1,"500014,100000,100000,100000,100000"
8 | 900002,2,"500014,100000,100000,100003,100000"
9 | 900002,3,"500014,500013,100000,500011,100000"
10 | 900002,4,"500015,500013,100000,500011,100000,500012"
11 | 900002,5,"500016,500013,100000,500011,100000,500012"
--------------------------------------------------------------------------------
/_typos.toml:
--------------------------------------------------------------------------------
1 | [default]
2 | extend-ignore-re = [
3 | "\\\"([a-zA-Z0-9][a-zA-Z0-9])+\\\"", # for hexadecimal string values.
4 | "2nd"
5 | ]
6 |
7 | [default.extend-identifiers]
8 | fo = "fo" # FungibleOrder
9 |
10 | [default.extend-words]
11 | ba = "ba" # byte array
12 | oce = "oce" # OperationCanceledException
13 | ist = "ist" # ItemSubType
14 | Equipments = "Equipments" # FIXME: Equipment is noncount word but our team doesn't have the policy about it.
15 | Hel = "Hel" # Stage prefix of world 8
16 |
17 | [files]
18 | extend-exclude = [
19 | ".Libplanet/*"
20 | ]
21 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/TableData/RuneWeightSheetTest.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.TableData
2 | {
3 | using System.Linq;
4 | using Xunit;
5 |
6 | public class RuneWeightSheetTest
7 | {
8 | [Fact]
9 | public void Set()
10 | {
11 | var tableSheet = new TableSheets(TableSheetsImporter.ImportSheets());
12 | var sheet = tableSheet.RuneWeightSheet;
13 | foreach (var row in sheet.Values)
14 | {
15 | Assert.Equal(100m, row.RuneInfos.Sum(i => i.Weight));
16 | }
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IDeliverToOthersGaragesV1.cs:
--------------------------------------------------------------------------------
1 | using System.Linq;
2 | using System.Security.Cryptography;
3 | using Libplanet.Common;
4 | using Libplanet.Crypto;
5 | using Libplanet.Types.Assets;
6 |
7 | namespace Lib9c.Abstractions
8 | {
9 | public interface IDeliverToOthersGaragesV1
10 | {
11 | Address RecipientAgentAddr { get; }
12 | IOrderedEnumerable? FungibleAssetValues { get; }
13 | IOrderedEnumerable<(HashDigest fungibleId, int count)>? FungibleIdAndCounts { get; }
14 | string? Memo { get; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IMimisbrunnrBattleV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IMimisbrunnrBattleV1
8 | {
9 | IEnumerable Costumes { get; }
10 | IEnumerable Equipments { get; }
11 | IEnumerable Foods { get; }
12 | int WorldId { get; }
13 | int StageId { get; }
14 | Address AvatarAddress { get; }
15 | Address WeeklyArenaAddress { get; }
16 | Address RankingMapAddress { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/ActionObsoletedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ActionObsoletedException : InvalidOperationException
8 | {
9 | public ActionObsoletedException()
10 | {
11 | }
12 |
13 | public ActionObsoletedException(string s) : base(s)
14 | {
15 | }
16 |
17 | protected ActionObsoletedException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidRepeatPlayException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidRepeatPlayException : Exception
8 | {
9 | public InvalidRepeatPlayException()
10 | {
11 | }
12 |
13 | public InvalidRepeatPlayException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidRepeatPlayException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/AgentStateNotContainsAvatarAddressException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AgentStateNotContainsAvatarAddressException : Exception
8 | {
9 | public AgentStateNotContainsAvatarAddressException(string message) : base(message)
10 | {
11 | }
12 |
13 | public AgentStateNotContainsAvatarAddressException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/AlreadyClaimedGiftsException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AlreadyClaimedGiftsException : Exception
8 | {
9 | public AlreadyClaimedGiftsException()
10 | {
11 | }
12 |
13 | public AlreadyClaimedGiftsException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | public AlreadyClaimedGiftsException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/Exceptions/CustomEquipmentCraft/NotEnoughRelationshipException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action.Exceptions.CustomEquipmentCraft
5 | {
6 | [Serializable]
7 | public class NotEnoughRelationshipException : Exception
8 | {
9 | public NotEnoughRelationshipException(string s) : base(s)
10 | {
11 | }
12 |
13 | protected NotEnoughRelationshipException(SerializationInfo info, StreamingContext context)
14 | : base(info, context)
15 | {
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/Exceptions/DuplicatedCraftSlotIndexException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action.Exceptions
5 | {
6 | [Serializable]
7 | public class DuplicatedCraftSlotIndexException : Exception
8 | {
9 | public DuplicatedCraftSlotIndexException(string message) : base(message)
10 | {
11 | }
12 |
13 | protected DuplicatedCraftSlotIndexException(
14 | SerializationInfo info, StreamingContext context
15 | ) : base(info, context)
16 | {
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c/Action/ShopItemExpiredException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ShopItemExpiredException : Exception
8 | {
9 | public ShopItemExpiredException()
10 | {
11 | }
12 |
13 | public ShopItemExpiredException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected ShopItemExpiredException(SerializationInfo info, StreamingContext context)
18 | : base(info, context)
19 | {
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Battle/ISimulator.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using Nekoyume.Model;
3 | using Nekoyume.Model.BattleStatus;
4 | using Nekoyume.Model.Item;
5 | using Priority_Queue;
6 |
7 | namespace Nekoyume.Battle
8 | {
9 | public interface ISimulator
10 | {
11 | Player Player { get; }
12 | BattleLog Log { get; }
13 | SimplePriorityQueue Characters { get; }
14 | IEnumerable Reward { get; }
15 | int WaveNumber { get; }
16 | int WaveTurn { get; }
17 | bool LogEvent { get; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Model/MonsterCollectSheetTest.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.Model
2 | {
3 | using Nekoyume.TableData;
4 | using Xunit;
5 |
6 | public class MonsterCollectSheetTest
7 | {
8 | [Fact]
9 | public void Set()
10 | {
11 | var sheet = new MonsterCollectionSheet();
12 | sheet.Set("level,required_gold,reward_id\n1,500,1");
13 | var row = sheet[1];
14 | Assert.Equal(1, row.Level);
15 | Assert.Equal(500, row.RequiredGold);
16 | Assert.Equal(1, row.RewardId);
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c/Action/ActionUnavailableException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ActionUnavailableException : InvalidOperationException
8 | {
9 | public ActionUnavailableException()
10 | {
11 | }
12 |
13 | public ActionUnavailableException(string s) : base(s)
14 | {
15 | }
16 |
17 | protected ActionUnavailableException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidItemCountException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidItemCountException : ArgumentOutOfRangeException
8 | {
9 | public InvalidItemCountException()
10 | {
11 | }
12 |
13 | public InvalidItemCountException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidItemCountException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/.Lib9c.Tests/Action/RuneSlotInfoTest.cs:
--------------------------------------------------------------------------------
1 | namespace Lib9c.Tests.Action
2 | {
3 | using Bencodex.Types;
4 | using Nekoyume.Action;
5 | using Xunit;
6 |
7 | public class RuneSlotInfoTest
8 | {
9 | [Fact]
10 | public void Serialize()
11 | {
12 | var info = new RuneSlotInfo(1, 1);
13 | var serialized = info.Serialize();
14 | var deserialized = new RuneSlotInfo((List)serialized);
15 |
16 | Assert.Equal(1, deserialized.RuneId);
17 | Assert.Equal(1, deserialized.SlotIndex);
18 | }
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IEventDungeonBattleV1.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Libplanet.Crypto;
4 |
5 | namespace Lib9c.Abstractions
6 | {
7 | public interface IEventDungeonBattleV1
8 | {
9 | Address AvatarAddress { get; }
10 | int EventScheduleId { get; }
11 | int EventDungeonId { get; }
12 | int EventDungeonStageId { get; }
13 | IEnumerable Equipments { get; }
14 | IEnumerable Costumes { get; }
15 | IEnumerable Foods { get; }
16 | bool BuyTicketIfNeeded { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/Lib9c/Action/EquipmentSlotUnlockException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class EquipmentSlotUnlockException : Exception
8 | {
9 | public EquipmentSlotUnlockException()
10 | {
11 | }
12 |
13 | public EquipmentSlotUnlockException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected EquipmentSlotUnlockException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Action/InvalidAddressException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class InvalidAddressException : InvalidOperationException
8 | {
9 | public InvalidAddressException()
10 | {
11 | }
12 |
13 | public InvalidAddressException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected InvalidAddressException(SerializationInfo info, StreamingContext context)
18 | : base(info, context)
19 | {
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Action/NotEnoughRankException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class NotEnoughRankException : InvalidOperationException
8 | {
9 | public NotEnoughRankException()
10 | {
11 | }
12 |
13 | public NotEnoughRankException(string message) : base(message)
14 | {
15 | }
16 |
17 | public NotEnoughRankException(SerializationInfo info, StreamingContext context) :
18 | base(info, context)
19 | {
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Lib9c/Model/State/FailedToUnregisterInShopStateException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Model.State
5 | {
6 | [Serializable]
7 | public class FailedToUnregisterInShopStateException : Exception
8 | {
9 | public FailedToUnregisterInShopStateException(string message) : base(message)
10 | {
11 | }
12 |
13 | protected FailedToUnregisterInShopStateException(
14 | SerializationInfo info,
15 | StreamingContext context) : base(info, context)
16 | {
17 | }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c.Abstractions/IHackAndSlashSweepV3.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using Bencodex.Types;
4 | using Libplanet.Crypto;
5 |
6 | namespace Lib9c.Abstractions
7 | {
8 | public interface IHackAndSlashSweepV3
9 | {
10 | IEnumerable Costumes { get; }
11 | IEnumerable Equipments { get; }
12 | IEnumerable RuneSlotInfos { get; }
13 | Address AvatarAddress { get; }
14 | int ApStoneCount { get; }
15 | int ActionPoint { get; }
16 | int WorldId { get; }
17 | int StageId { get; }
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Lib9c/Action/ActionPointExceededException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class ActionPointExceededException : InvalidOperationException
8 | {
9 | public ActionPointExceededException()
10 | {
11 | }
12 |
13 | public ActionPointExceededException(string s) : base(s)
14 | {
15 | }
16 |
17 | protected ActionPointExceededException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/Lib9c/Action/AlreadyWorldUnlockedException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Runtime.Serialization;
3 |
4 | namespace Nekoyume.Action
5 | {
6 | [Serializable]
7 | public class AlreadyWorldUnlockedException: Exception
8 | {
9 | public AlreadyWorldUnlockedException()
10 | {
11 | }
12 |
13 | public AlreadyWorldUnlockedException(string msg) : base(msg)
14 | {
15 | }
16 |
17 | protected AlreadyWorldUnlockedException(SerializationInfo info, StreamingContext context) : base(info, context)
18 | {
19 | }
20 |
21 | }
22 | }
23 |
--------------------------------------------------------------------------------