Skip to content

Commit ff2c8ae

Browse files
authored
Merge pull request #2428 from planetarium/release/1.9.1
Release/1.9.1
2 parents 96c88ed + 7941519 commit ff2c8ae

4 files changed

Lines changed: 21 additions & 3 deletions

File tree

.Lib9c.Tests/Model/ArenaSimulatorTest.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace Lib9c.Tests
66
using Lib9c.Tests.Action;
77
using Libplanet.Action;
88
using Libplanet.Crypto;
9+
using Nekoyume;
910
using Nekoyume.Action;
1011
using Nekoyume.Arena;
1112
using Nekoyume.Model;
@@ -14,6 +15,7 @@ namespace Lib9c.Tests
1415
using Nekoyume.Model.Skill;
1516
using Nekoyume.Model.Stat;
1617
using Nekoyume.Model.State;
18+
using Nekoyume.TableData;
1719
using Xunit;
1820
using Xunit.Abstractions;
1921

@@ -70,12 +72,17 @@ public void Simulate()
7072
new List<StatModifier>
7173
{
7274
new (StatType.ATK, StatModifier.OperationType.Add, 1),
75+
new (StatType.HP, StatModifier.OperationType.Add, 100),
7376
},
7477
new List<StatModifier>
7578
{
7679
new (StatType.DEF, StatModifier.OperationType.Add, 1),
80+
new (StatType.HP, StatModifier.OperationType.Add, 100),
7781
}
7882
);
83+
CharacterSheet.Row row =
84+
_tableSheets.CharacterSheet[GameConfig.DefaultAvatarCharacterId];
85+
var expectedHp = (new CharacterStats(row, myDigest.Level).HP + 100) * simulator.HpModifier;
7986

8087
Assert.Equal(_random, simulator.Random);
8188

@@ -88,6 +95,8 @@ public void Simulate()
8895
{
8996
if (player.Character is ArenaCharacter arenaCharacter)
9097
{
98+
Assert.Equal(expectedHp, arenaCharacter.HP);
99+
Assert.Equal(expectedHp, arenaCharacter.CurrentHP);
91100
arenaCharacters.Add(arenaCharacter);
92101
}
93102
}

.Lib9c.Tests/Model/PlayerTest.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -873,25 +873,28 @@ public void IncreaseHpForArena()
873873
// RuneStats 520
874874
// Assert.Equal(879, player.HP);
875875
var runeLayerHp = player.HP;
876+
Assert.Equal(player.CurrentHP, runeLayerHp);
876877

877878
// Update costume stats
878879
player.SetCostumeStat(_tableSheets.CostumeStatSheet);
879880
Assert.Equal(runeLayerHp + costumeStatRow.Stat, player.HP);
880881
// CostumeStats 26990
881882
// Assert.Equal(27869, player.HP);
882883
var costumeLayerHp = player.HP;
884+
Assert.Equal(player.CurrentHP, costumeLayerHp);
883885

884886
// Update collection stat
885887
var modifiers = new List<StatModifier>();
886888
var addModifier = new StatModifier(StatType.HP, StatModifier.OperationType.Add, 100);
887889
modifiers.Add(new StatModifier(StatType.HP, StatModifier.OperationType.Percentage, 200));
888890
modifiers.Add(addModifier);
889891
modifiers.Add(new StatModifier(StatType.HP, StatModifier.OperationType.Percentage, -100));
890-
player.Stats.SetCollections(modifiers);
892+
player.SetCollections(modifiers);
891893
Assert.Equal(costumeLayerHp + addModifier.Value + costumeLayerHp, player.HP);
892894
// CollectionStats 100 + 27869(100%)
893895
// Assert.Equal(55838, player.HP);
894896
var collectionLayerHp = player.HP;
897+
Assert.Equal(player.CurrentHP, collectionLayerHp);
895898

896899
// Arena
897900
player.Stats.IsArenaCharacter = true;

Lib9c/Model/Character/ArenaCharacter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,6 @@ public ArenaCharacter(
186186
hpModifier);
187187
_skills = GetSkills(digest.Equipments, sheets.SkillSheet);
188188
_attackCountMax = AttackCountHelper.GetCountMax(digest.Level);
189-
ResetCurrentHP();
190189
if (digest.Runes != null)
191190
{
192191
SetRune(
@@ -196,6 +195,7 @@ public ArenaCharacter(
196195
}
197196

198197
Stats.SetCollections(collectionModifiers);
198+
ResetCurrentHP();
199199
}
200200

201201
private ArenaCharacter(ArenaCharacter value)

Lib9c/Model/Character/Player.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,12 @@ public void SetRune(
604604
}
605605
}
606606

607+
public void SetCollections(IEnumerable<StatModifier> statModifiers)
608+
{
609+
Stats.SetCollections(statModifiers);
610+
ResetCurrentHP();
611+
}
612+
607613
public void ConfigureStats(CostumeStatSheet costumeStatSheet, List<RuneState> runeStates, RuneOptionSheet runeOptionSheet, SkillSheet skillSheet, List<StatModifier> collectionModifiers)
608614
{
609615
SetCostumeStat(costumeStatSheet);
@@ -612,7 +618,7 @@ public void ConfigureStats(CostumeStatSheet costumeStatSheet, List<RuneState> ru
612618
SetRune(runeStates, runeOptionSheet, skillSheet);
613619
}
614620

615-
Stats.SetCollections(collectionModifiers);
621+
SetCollections(collectionModifiers);
616622
}
617623

618624
[Obsolete("Use SetRune")]

0 commit comments

Comments
 (0)