Skip to content
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
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,6 @@ Level 93 - XP: 1340194000
Level 94 - XP: 1457519000
Level 95 - XP: 1577327000
Level 96 - XP: 1699644000
Level 97 - XP: 1824496000
Level 98 - XP: 1951909000
Level 99 - XP: 2081909000
Level 97 - XP: 1843704000
Level 98 - XP: 1990719000
Level 99 - XP: 2140719000
14 changes: 9 additions & 5 deletions documentation/DocumentationTest.HpDocumentation.approved.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
============ HP Table =============
Class Adventurer
-------------- Class Adventurer --------------
Level 1 - HP: 205
Level 2 - HP: 221
Level 3 - HP: 238
Expand Down Expand Up @@ -99,7 +99,8 @@ Level 96 - HP: 6190
Level 97 - HP: 6301
Level 98 - HP: 6413
Level 99 - HP: 6526
Class Swordman

-------------- Class Swordman --------------
Level 1 - HP: 946
Level 2 - HP: 946
Level 3 - HP: 946
Expand Down Expand Up @@ -199,7 +200,8 @@ Level 96 - HP: 17290
Level 97 - HP: 17663
Level 98 - HP: 17851
Level 99 - HP: 18230
Class Archer

-------------- Class Archer --------------
Level 1 - HP: 680
Level 2 - HP: 680
Level 3 - HP: 680
Expand Down Expand Up @@ -299,7 +301,8 @@ Level 96 - HP: 9676
Level 97 - HP: 9815
Level 98 - HP: 9955
Level 99 - HP: 10238
Class Magician

-------------- Class Magician --------------
Level 1 - HP: 325
Level 2 - HP: 357
Level 3 - HP: 391
Expand Down Expand Up @@ -399,7 +402,8 @@ Level 96 - HP: 12295
Level 97 - HP: 12517
Level 98 - HP: 12741
Level 99 - HP: 12967
Class MartialArtist

-------------- Class MartialArtist --------------
Level 1 - HP: 946
Level 2 - HP: 946
Level 3 - HP: 946
Expand Down
202 changes: 202 additions & 0 deletions documentation/DocumentationTest.SpExperienceDocumentation.approved.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
============ SP Experience Table =============
-------------- Primary SP --------------
Level 1 - XP: 15000
Level 2 - XP: 25000
Level 3 - XP: 35000
Level 4 - XP: 45000
Level 5 - XP: 55000
Level 6 - XP: 65000
Level 7 - XP: 75000
Level 8 - XP: 85000
Level 9 - XP: 95000
Level 10 - XP: 105000
Level 11 - XP: 115000
Level 12 - XP: 125000
Level 13 - XP: 135000
Level 14 - XP: 145000
Level 15 - XP: 155000
Level 16 - XP: 165000
Level 17 - XP: 175000
Level 18 - XP: 185000
Level 19 - XP: 195000
Level 20 - XP: 218000
Level 21 - XP: 225566
Level 22 - XP: 233888
Level 23 - XP: 243002
Level 24 - XP: 252944
Level 25 - XP: 263750
Level 26 - XP: 275456
Level 27 - XP: 288098
Level 28 - XP: 301712
Level 29 - XP: 316334
Level 30 - XP: 332000
Level 31 - XP: 348746
Level 32 - XP: 366608
Level 33 - XP: 385622
Level 34 - XP: 405824
Level 35 - XP: 427250
Level 36 - XP: 449936
Level 37 - XP: 473918
Level 38 - XP: 499232
Level 39 - XP: 525914
Level 40 - XP: 554000
Level 41 - XP: 583526
Level 42 - XP: 614528
Level 43 - XP: 647042
Level 44 - XP: 681104
Level 45 - XP: 716750
Level 46 - XP: 754016
Level 47 - XP: 792938
Level 48 - XP: 833552
Level 49 - XP: 875894
Level 50 - XP: 920000
Level 51 - XP: 965906
Level 52 - XP: 1013648
Level 53 - XP: 1063262
Level 54 - XP: 1114784
Level 55 - XP: 1168250
Level 56 - XP: 1223696
Level 57 - XP: 1281158
Level 58 - XP: 1340672
Level 59 - XP: 1402274
Level 60 - XP: 1466000
Level 61 - XP: 1531886
Level 62 - XP: 1599968
Level 63 - XP: 1670282
Level 64 - XP: 1742864
Level 65 - XP: 1817750
Level 66 - XP: 1894976
Level 67 - XP: 1974578
Level 68 - XP: 2056592
Level 69 - XP: 2141054
Level 70 - XP: 2228000
Level 71 - XP: 2317466
Level 72 - XP: 2409488
Level 73 - XP: 2504102
Level 74 - XP: 2601344
Level 75 - XP: 2701250
Level 76 - XP: 2803856
Level 77 - XP: 2909198
Level 78 - XP: 3017312
Level 79 - XP: 3128234
Level 80 - XP: 3242000
Level 81 - XP: 3358646
Level 82 - XP: 3478208
Level 83 - XP: 3600722
Level 84 - XP: 3726224
Level 85 - XP: 3854750
Level 86 - XP: 3986336
Level 87 - XP: 4121018
Level 88 - XP: 4258832
Level 89 - XP: 4399814
Level 90 - XP: 4544000
Level 91 - XP: 4691426
Level 92 - XP: 4842128
Level 93 - XP: 4996142
Level 94 - XP: 5153504
Level 95 - XP: 5314250
Level 96 - XP: 5478416
Level 97 - XP: 5646038
Level 98 - XP: 5817152
Level 99 - XP: 5991794

-------------- Secondary SP --------------
Level 1 - XP: 10000
Level 2 - XP: 10000
Level 3 - XP: 10000
Level 4 - XP: 10000
Level 5 - XP: 10000
Level 6 - XP: 10000
Level 7 - XP: 10000
Level 8 - XP: 10000
Level 9 - XP: 10000
Level 10 - XP: 10000
Level 11 - XP: 10000
Level 12 - XP: 10000
Level 13 - XP: 10000
Level 14 - XP: 10000
Level 15 - XP: 10000
Level 16 - XP: 10000
Level 17 - XP: 10000
Level 18 - XP: 10000
Level 19 - XP: 10000
Level 20 - XP: 100000
Level 21 - XP: 105000
Level 22 - XP: 110000
Level 23 - XP: 115000
Level 24 - XP: 120000
Level 25 - XP: 125000
Level 26 - XP: 130000
Level 27 - XP: 135000
Level 28 - XP: 140000
Level 29 - XP: 145000
Level 30 - XP: 150000
Level 31 - XP: 155000
Level 32 - XP: 160000
Level 33 - XP: 165000
Level 34 - XP: 170000
Level 35 - XP: 175000
Level 36 - XP: 180000
Level 37 - XP: 185000
Level 38 - XP: 1
Level 39 - XP: 1
Level 40 - XP: 1
Level 41 - XP: 1
Level 42 - XP: 1
Level 43 - XP: 1
Level 44 - XP: 1
Level 45 - XP: 1
Level 46 - XP: 1
Level 47 - XP: 1
Level 48 - XP: 1
Level 49 - XP: 1
Level 50 - XP: 1
Level 51 - XP: 1
Level 52 - XP: 1
Level 53 - XP: 1
Level 54 - XP: 1
Level 55 - XP: 1
Level 56 - XP: 1
Level 57 - XP: 1
Level 58 - XP: 1
Level 59 - XP: 1
Level 60 - XP: 1
Level 61 - XP: 1
Level 62 - XP: 1
Level 63 - XP: 1
Level 64 - XP: 1
Level 65 - XP: 1
Level 66 - XP: 1
Level 67 - XP: 1
Level 68 - XP: 1
Level 69 - XP: 1
Level 70 - XP: 1
Level 71 - XP: 1
Level 72 - XP: 1
Level 73 - XP: 1
Level 74 - XP: 1
Level 75 - XP: 1
Level 76 - XP: 1
Level 77 - XP: 1
Level 78 - XP: 1
Level 79 - XP: 1
Level 80 - XP: 1
Level 81 - XP: 1
Level 82 - XP: 1
Level 83 - XP: 1
Level 84 - XP: 1
Level 85 - XP: 1
Level 86 - XP: 1
Level 87 - XP: 1
Level 88 - XP: 1
Level 89 - XP: 1
Level 90 - XP: 1
Level 91 - XP: 1
Level 92 - XP: 1
Level 93 - XP: 1
Level 94 - XP: 1
Level 95 - XP: 1
Level 96 - XP: 1
Level 97 - XP: 1
Level 98 - XP: 1
Level 99 - XP: 1
6 changes: 5 additions & 1 deletion src/NosCore.Algorithm/ExperienceService/ExperienceService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.ExperienceService
{
public class ExperienceService : IExperienceService
{
private readonly double[]_xpData = new double[Constants.MaxLevel];
private readonly double[] _xpData = new double[Constants.MaxLevel];

public ExperienceService()
{
Expand Down Expand Up @@ -51,6 +51,10 @@ public ExperienceService()
{
var = 13000;
}
else if (i == 96)
{
var = 15000;
}

_xpData[i] = Convert.ToInt64(_xpData[i - 1] + var * (i + 2) * (i + 2));
}
Expand Down
1 change: 1 addition & 0 deletions src/NosCore.Algorithm/HpService/HpService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace NosCore.Algorithm.HpService
{
//TODO finish/fix this service
public class HpService : IHpService
{
private readonly double[,] _hpData = new double[Constants.ClassCount, Constants.MaxLevel];
Expand Down
13 changes: 13 additions & 0 deletions src/NosCore.Algorithm/SpExperienceService/ISpExperienceService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// __ _ __ __ ___ __ ___ ___
// | \| |/__\ /' _/ / _//__\| _ \ __|
// | | ' | \/ |`._`.| \_| \/ | v / _|
// |_|\__|\__/ |___/ \__/\__/|_|_\___|
// -----------------------------------

namespace NosCore.Algorithm.SpExperienceService
{
public interface ISpExperienceService
{
long GetSpExperience(byte level, bool isSecondarySp);
}
}
46 changes: 46 additions & 0 deletions src/NosCore.Algorithm/SpExperienceService/SpExperienceService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
namespace NosCore.Algorithm.SpExperienceService
{
public class SpExperienceService : ISpExperienceService
{
private readonly double[,] _spXpData = new double[2, Constants.MaxLevel];

public SpExperienceService()
{
_spXpData[0, 0] = 15000;
_spXpData[0, 19] = 218000;
for (int i = 1; i < 19; i++)
{
_spXpData[0,i] = _spXpData[0, i - 1] + 10000;
}
for (int i = 20; i < _spXpData.GetLength(1); i++)
{
_spXpData[0, i] = _spXpData[0, i - 1] + 6 * (3 * i * (i + 1) + 1);
}

for (int i = 0; i < Constants.MaxLevel; i++)
{
if (i < 19)
{
_spXpData[1, i] = 10000;
} else if (i == 19)
{
_spXpData[1, i] = 100000;
}
else if (i < 37)
{
_spXpData[1, i] = _spXpData[1, i-1] + 5000;
}
else
{
_spXpData[1, i] = 1;
}

}

}
public long GetSpExperience(byte level, bool isSecondarySp)
{
return (long)_spXpData![isSecondarySp ? 1 : 0, level - 1];
}
}
}
26 changes: 24 additions & 2 deletions test/NosCore.Algorithm.Tests/DocumentationTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,39 @@ public void ExperienceDocumentation()
Approvals.Verify(resultBuilder);
}

[TestMethod]
public void SpExperienceDocumentation()
{
var experienceService = new SpExperienceService.SpExperienceService();

StringBuilder resultBuilder = new StringBuilder("============ SP Experience Table =============");


for (int i = 0; i < 2; i++)
{
resultBuilder.AppendLine();
resultBuilder.AppendLine($"-------------- {(i == 0 ? "Primary" : "Secondary")} SP --------------");
for (byte level = 1; level < 100; level++)
{
resultBuilder.AppendLine(
$"Level {level.ToString().PadRight(2)} - XP: {experienceService.GetSpExperience(level, i == 1)}");
}
}
Approvals.Verify(resultBuilder);
}


[TestMethod]
public void HpDocumentation()
{
var experienceService = new HpService.HpService();

StringBuilder resultBuilder = new StringBuilder("============ HP Table =============");
resultBuilder.AppendLine();

foreach (var @class in Enum.GetValues(typeof(CharacterClassType)).Cast<CharacterClassType>())
{
resultBuilder.AppendLine($"Class {@class}");
resultBuilder.AppendLine();
resultBuilder.AppendLine($"-------------- Class {@class} --------------");
for (byte level = 1; level < 100; level++)
{
resultBuilder.AppendLine(
Expand Down