Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/additional pet #2871

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .Lib9c.Tests/Action/Scenario/ArenaScenarioTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,6 @@ public ArenaScenarioTest(ITestOutputHelper outputHelper)
#pragma warning restore CS0618
var goldCurrencyState = new GoldCurrencyState(_ncg);
_rankingMapAddress = new PrivateKey().Address;
var clearStageId = Math.Max(
_tableSheets.StageSheet.First?.Id ?? 1,
GameConfig.RequireClearedStageLevel.ActionsInRankingBoard);

_state = _state
.SetLegacyState(Addresses.GoldCurrency, goldCurrencyState.Serialize())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ namespace Lib9c.Tests.Action.Scenario.Pet
using Nekoyume.TableData;
using Nekoyume.TableData.Pet;
using Xunit;
using static Lib9c.SerializeKeys;

public class AdditionalOptionRateByFixedValueTest
{
Expand All @@ -34,125 +33,7 @@ public AdditionalOptionRateByFixedValueTest()
{
var sheets = TableSheetsImporter.ImportSheets();
sheets[nameof(PetOptionSheet)] = @"ID,_PET NAME,PetLevel,OptionType,OptionValue
1001,D:CC 블랙캣,1,ReduceRequiredBlock,5.5
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

시트데이터가 변경될 경우에 영향을 안받도록 의도적으로 시트 데이터를 고정시켜둔것처럼 보이는데, 괜찮은 변경일까요?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일단 펜리르를 제외하고는 사용하지 않는 데이터입니다. 굳이 시트 데이터를 왜 갖고와서 사용했는지 보니까, 펜리르의 펫 옵션인 AdditionalOptionRate~를 테스트 하려고 했는데 랜덤성이 있거나 하는거 때문인지 AdditionalOptionRateByFixedValue라는 펫 옵션 타입을 추가해서 테스트한 것으로 보였습니다. 위 상황에서 굳이 다른 데이터는 들고 있을 필요 없다고 생각해서 테스트에 사용하는 데이터 말고 제거하는 것으로 결정했습니다

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🆗

1001,D:CC 블랙캣,2,ReduceRequiredBlock,6
1001,D:CC 블랙캣,3,ReduceRequiredBlock,6.5
1001,D:CC 블랙캣,4,ReduceRequiredBlock,7
1001,D:CC 블랙캣,5,ReduceRequiredBlock,7.5
1001,D:CC 블랙캣,6,ReduceRequiredBlock,8
1001,D:CC 블랙캣,7,ReduceRequiredBlock,8.5
1001,D:CC 블랙캣,8,ReduceRequiredBlock,9
1001,D:CC 블랙캣,9,ReduceRequiredBlock,9.5
1001,D:CC 블랙캣,10,ReduceRequiredBlock,10
1001,D:CC 블랙캣,11,ReduceRequiredBlock,10.5
1001,D:CC 블랙캣,12,ReduceRequiredBlock,11
1001,D:CC 블랙캣,13,ReduceRequiredBlock,11.5
1001,D:CC 블랙캣,14,ReduceRequiredBlock,12
1001,D:CC 블랙캣,15,ReduceRequiredBlock,12.5
1001,D:CC 블랙캣,16,ReduceRequiredBlock,13
1001,D:CC 블랙캣,17,ReduceRequiredBlock,13.5
1001,D:CC 블랙캣,18,ReduceRequiredBlock,14
1001,D:CC 블랙캣,19,ReduceRequiredBlock,14.5
1001,D:CC 블랙캣,20,ReduceRequiredBlock,15
1001,D:CC 블랙캣,21,ReduceRequiredBlock,15.5
1001,D:CC 블랙캣,22,ReduceRequiredBlock,16
1001,D:CC 블랙캣,23,ReduceRequiredBlock,16.5
1001,D:CC 블랙캣,24,ReduceRequiredBlock,17
1001,D:CC 블랙캣,25,ReduceRequiredBlock,17.5
1001,D:CC 블랙캣,26,ReduceRequiredBlock,18
1001,D:CC 블랙캣,27,ReduceRequiredBlock,18.5
1001,D:CC 블랙캣,28,ReduceRequiredBlock,19
1001,D:CC 블랙캣,29,ReduceRequiredBlock,19.5
1001,D:CC 블랙캣,30,ReduceRequiredBlock,20
1002,빨간 동글이,1,DiscountMaterialCostCrystal,2.5
1002,빨간 동글이,2,DiscountMaterialCostCrystal,3
1002,빨간 동글이,3,DiscountMaterialCostCrystal,3.5
1002,빨간 동글이,4,DiscountMaterialCostCrystal,4
1002,빨간 동글이,5,DiscountMaterialCostCrystal,4.5
1002,빨간 동글이,6,DiscountMaterialCostCrystal,5
1002,빨간 동글이,7,DiscountMaterialCostCrystal,5.5
1002,빨간 동글이,8,DiscountMaterialCostCrystal,6
1002,빨간 동글이,9,DiscountMaterialCostCrystal,6.5
1002,빨간 동글이,10,DiscountMaterialCostCrystal,7
1002,빨간 동글이,11,DiscountMaterialCostCrystal,7.5
1002,빨간 동글이,12,DiscountMaterialCostCrystal,8
1002,빨간 동글이,13,DiscountMaterialCostCrystal,8.5
1002,빨간 동글이,14,DiscountMaterialCostCrystal,9
1002,빨간 동글이,15,DiscountMaterialCostCrystal,9.5
1002,빨간 동글이,16,DiscountMaterialCostCrystal,10
1002,빨간 동글이,17,DiscountMaterialCostCrystal,10.5
1002,빨간 동글이,18,DiscountMaterialCostCrystal,11
1002,빨간 동글이,19,DiscountMaterialCostCrystal,11.5
1002,빨간 동글이,20,DiscountMaterialCostCrystal,12
1002,빨간 동글이,21,DiscountMaterialCostCrystal,12.5
1002,빨간 동글이,22,DiscountMaterialCostCrystal,13
1002,빨간 동글이,23,DiscountMaterialCostCrystal,13.5
1002,빨간 동글이,24,DiscountMaterialCostCrystal,14
1002,빨간 동글이,25,DiscountMaterialCostCrystal,14.5
1002,빨간 동글이,26,DiscountMaterialCostCrystal,15
1002,빨간 동글이,27,DiscountMaterialCostCrystal,15.5
1002,빨간 동글이,28,DiscountMaterialCostCrystal,16
1002,빨간 동글이,29,DiscountMaterialCostCrystal,16.5
1002,빨간 동글이,30,DiscountMaterialCostCrystal,17
1003,빛의 발키리,1,IncreaseBlockPerHourglass,1
1003,빛의 발키리,2,IncreaseBlockPerHourglass,2
1003,빛의 발키리,3,IncreaseBlockPerHourglass,3
1003,빛의 발키리,4,IncreaseBlockPerHourglass,4
1003,빛의 발키리,5,IncreaseBlockPerHourglass,5
1003,빛의 발키리,6,IncreaseBlockPerHourglass,6
1003,빛의 발키리,7,IncreaseBlockPerHourglass,7
1003,빛의 발키리,8,IncreaseBlockPerHourglass,8
1003,빛의 발키리,9,IncreaseBlockPerHourglass,9
1003,빛의 발키리,10,IncreaseBlockPerHourglass,10
1003,빛의 발키리,11,IncreaseBlockPerHourglass,11
1003,빛의 발키리,12,IncreaseBlockPerHourglass,12
1003,빛의 발키리,13,IncreaseBlockPerHourglass,13
1003,빛의 발키리,14,IncreaseBlockPerHourglass,14
1003,빛의 발키리,15,IncreaseBlockPerHourglass,15
1003,빛의 발키리,16,IncreaseBlockPerHourglass,16
1003,빛의 발키리,17,IncreaseBlockPerHourglass,17
1003,빛의 발키리,18,IncreaseBlockPerHourglass,18
1003,빛의 발키리,19,IncreaseBlockPerHourglass,19
1003,빛의 발키리,20,IncreaseBlockPerHourglass,20
1003,빛의 발키리,21,IncreaseBlockPerHourglass,21
1003,빛의 발키리,22,IncreaseBlockPerHourglass,22
1003,빛의 발키리,23,IncreaseBlockPerHourglass,23
1003,빛의 발키리,24,IncreaseBlockPerHourglass,24
1003,빛의 발키리,25,IncreaseBlockPerHourglass,25
1003,빛의 발키리,26,IncreaseBlockPerHourglass,26
1003,빛의 발키리,27,IncreaseBlockPerHourglass,27
1003,빛의 발키리,28,IncreaseBlockPerHourglass,28
1003,빛의 발키리,29,IncreaseBlockPerHourglass,29
1003,빛의 발키리,30,IncreaseBlockPerHourglass,30
1004,꼬마 펜리르,1,AdditionalOptionRateByFixedValue,5.5
1004,꼬마 펜리르,2,AdditionalOptionRateByFixedValue,6
1004,꼬마 펜리르,3,AdditionalOptionRateByFixedValue,6.5
1004,꼬마 펜리르,4,AdditionalOptionRateByFixedValue,7
1004,꼬마 펜리르,5,AdditionalOptionRateByFixedValue,7.5
1004,꼬마 펜리르,6,AdditionalOptionRateByFixedValue,8
1004,꼬마 펜리르,7,AdditionalOptionRateByFixedValue,8.5
1004,꼬마 펜리르,8,AdditionalOptionRateByFixedValue,9
1004,꼬마 펜리르,9,AdditionalOptionRateByFixedValue,9.5
1004,꼬마 펜리르,10,AdditionalOptionRateByFixedValue,10
1004,꼬마 펜리르,11,AdditionalOptionRateByFixedValue,10.5
1004,꼬마 펜리르,12,AdditionalOptionRateByFixedValue,11
1004,꼬마 펜리르,13,AdditionalOptionRateByFixedValue,11.5
1004,꼬마 펜리르,14,AdditionalOptionRateByFixedValue,12
1004,꼬마 펜리르,15,AdditionalOptionRateByFixedValue,12.5
1004,꼬마 펜리르,16,AdditionalOptionRateByFixedValue,13
1004,꼬마 펜리르,17,AdditionalOptionRateByFixedValue,13.5
1004,꼬마 펜리르,18,AdditionalOptionRateByFixedValue,14
1004,꼬마 펜리르,19,AdditionalOptionRateByFixedValue,14.5
1004,꼬마 펜리르,20,AdditionalOptionRateByFixedValue,15
1004,꼬마 펜리르,21,AdditionalOptionRateByFixedValue,15.5
1004,꼬마 펜리르,22,AdditionalOptionRateByFixedValue,16
1004,꼬마 펜리르,23,AdditionalOptionRateByFixedValue,16.5
1004,꼬마 펜리르,24,AdditionalOptionRateByFixedValue,17
1004,꼬마 펜리르,25,AdditionalOptionRateByFixedValue,17.5
1004,꼬마 펜리르,26,AdditionalOptionRateByFixedValue,18
1004,꼬마 펜리르,27,AdditionalOptionRateByFixedValue,18.5
1004,꼬마 펜리르,28,AdditionalOptionRateByFixedValue,19
1004,꼬마 펜리르,29,AdditionalOptionRateByFixedValue,19.5
1004,꼬마 펜리르,30,AdditionalOptionRateByFixedValue,20";
(_tableSheets, _agentAddr, _avatarAddr, _initialStateV2)
= InitializeUtil.InitializeStates(sheetsOverride: sheets);
Expand All @@ -168,7 +49,6 @@ public void CombinationEquipmentTest(
int petLevel
)
{
var (beforeResult, afterResult) = (false, false);
// Get Recipe
var recipe = _tableSheets.EquipmentItemRecipeSheet.Values.First(
recipe => recipe.ResultEquipmentId == targetItemId
Expand All @@ -195,12 +75,6 @@ int petLevel
);

var subRecipe = _tableSheets.EquipmentItemSubRecipeSheetV2[recipe.SubRecipeIds![1]];
var (originalOption2Ratio, originalOption3Ratio, originalOption4Ratio) =
(subRecipe.Options[1].Ratio, subRecipe.Options[2].Ratio,
subRecipe.Options[3].Ratio);
var (expectedOption2Ratio, expectedOption3Ratio, expectedOption4Ratio) =
(originalOption2Ratio, originalOption3Ratio, originalOption4Ratio);

// Get pet
var petRow = _tableSheets.PetOptionSheet.Values.First(
pet => pet.LevelOptionMap[(int)petLevel!].OptionType == PetOptionType
Expand All @@ -210,13 +84,6 @@ int petLevel
PetState.DeriveAddress(_avatarAddr, (int)_petId),
new List(_petId!.Serialize(), petLevel.Serialize(), 0L.Serialize())
);
var increment = (int)petRow.LevelOptionMap[petLevel].OptionValue * 100;
(expectedOption2Ratio, expectedOption3Ratio, expectedOption4Ratio) =
(
originalOption2Ratio + increment,
originalOption3Ratio + increment,
originalOption4Ratio + increment
);

// Prepare
stateV2 = CraftUtil.PrepareCombinationSlot(stateV2, _avatarAddr);
Expand Down
1 change: 0 additions & 1 deletion .Lib9c.Tests/Action/Scenario/Pet/CommonTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ namespace Lib9c.Tests.Action.Scenario.Pet
using Nekoyume.Module;
using Nekoyume.TableData;
using Xunit;
using static Lib9c.SerializeKeys;

public class CommonTest
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ namespace Lib9c.Tests.Action.Scenario.Pet
using Nekoyume.Module;
using Nekoyume.TableData;
using Xunit;
using static Lib9c.SerializeKeys;

public class DiscountMaterialCostCrystalTest
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ namespace Lib9c.Tests.Action.Scenario.Pet
using Lib9c.Tests.Util;
using Libplanet.Action.State;
using Libplanet.Crypto;
using Nekoyume;
using Nekoyume.Action;
using Nekoyume.Model.Item;
using Nekoyume.Model.Pet;
using Nekoyume.Model.State;
using Nekoyume.Module;
using Nekoyume.TableData;
using Xunit;
using static Lib9c.SerializeKeys;

public class IncreaseBlockPerHourglassTest
{
Expand Down Expand Up @@ -69,7 +67,7 @@ public void RapidCombinationTest_Equipment(
var recipe =
_tableSheets.EquipmentItemRecipeSheet.Values.First(
recipe => recipe.RequiredBlockIndex >= requiredBlock
);
);
Assert.NotNull(recipe);

// Get Materials and stages
Expand Down
2 changes: 0 additions & 2 deletions .Lib9c.Tests/Action/Scenario/Pet/ReduceRequiredBlockTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,12 @@ namespace Lib9c.Tests.Action.Scenario.Pet
using Lib9c.Tests.Util;
using Libplanet.Action.State;
using Libplanet.Crypto;
using Nekoyume;
using Nekoyume.Action;
using Nekoyume.Model.Pet;
using Nekoyume.Model.State;
using Nekoyume.Module;
using Nekoyume.TableData;
using Xunit;
using static Lib9c.SerializeKeys;

public class ReduceRequiredBlockTest
{
Expand Down
Loading
Loading