Skip to content

Commit 9e4cfd7

Browse files
authored
Merge pull request #42 from NosCoreIO/StartAddingReputation
add speed service and bump
2 parents e6b27c6 + 2426cbf commit 9e4cfd7

File tree

9 files changed

+69
-39
lines changed

9 files changed

+69
-39
lines changed
Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
# Dignity Table
22
- 1 Default - Max: 200 Min: -99
3-
43
- 2 Dubious - Max: -100 Min: -200
5-
64
- 3 Dreadful - Max: -201 Min: -400
7-
85
- 4 Unqualified - Max: -401 Min: -600
9-
106
- 5 Useless - Max: -601 Min: -800
11-
127
- 6 Failed - Max: -801 Min: -1000
Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,33 @@
11
# Reputation Table
22
- 1 GreenBeginner - Min: 0 Max: 50
3-
43
- 2 BlueBeginner - Min: 51 Max: 150
5-
64
- 3 RedBeginner - Min: 151 Max: 250
7-
85
- 4 GreenTrainee - Min: 251 Max: 500
9-
106
- 5 BlueTrainee - Min: 501 Max: 750
11-
127
- 6 RedTrainee - Min: 751 Max: 1000
13-
148
- 7 GreenExperienced - Min: 1001 Max: 2250
15-
169
- 8 BlueExperienced - Min: 2251 Max: 3500
17-
1810
- 9 RedExperienced - Min: 3501 Max: 5000
19-
2011
- 10 GreenSoldier - Min: 5001 Max: 9500
21-
2212
- 11 BlueSoldier - Min: 9501 Max: 19000
23-
2413
- 12 RedSoldier - Min: 19001 Max: 25000
25-
2614
- 13 GreenExpert - Min: 25001 Max: 40000
27-
2815
- 14 BlueExpert - Min: 40001 Max: 60000
29-
3016
- 15 RedExpert - Min: 60001 Max: 85000
31-
3217
- 16 GreenLeader - Min: 85001 Max: 115000
33-
3418
- 17 BlueLeader - Min: 115001 Max: 150000
35-
3619
- 18 RedLeader - Min: 150001 Max: 190000
37-
3820
- 19 GreenMaster - Min: 190001 Max: 235000
39-
4021
- 20 BlueMaster - Min: 235001 Max: 285000
41-
4222
- 21 RedMaster - Min: 285001 Max: 350000
43-
4423
- 22 GreenNos - Min: 350001 Max: 500000
45-
4624
- 23 BlueNos - Min: 500001 Max: 1500000
47-
4825
- 24 RedNos - Min: 1500001 Max: 2500000
49-
5026
- 25 GreenElite - Min: 2500001 Max: 3750000
51-
5227
- 26 BlueElite - Min: 3750001 Max: 5000000
53-
5428
- 27 RedElite - Min: 5000001 Max: 9223372036854775807
55-
5629
- 28 GreenLegend - Min: 5000001 Max: 9223372036854775807
57-
5830
- 29 BlueLegend - Min: 5000001 Max: 9223372036854775807
59-
6031
- 30 AncientHero - Min: 5000001 Max: 9223372036854775807
61-
6232
- 31 MysteriousHero - Min: 5000001 Max: 9223372036854775807
63-
6433
- 32 LegendaryHero - Min: 5000001 Max: 9223372036854775807
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Speed Table
2+
- Adventurer : 11
3+
- Swordman : 11
4+
- Archer : 12
5+
- Magician : 10
6+
- MartialArtist : 11

src/NosCore.Algorithm/NosCore.Algorithm.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<RepositoryUrl>https://github.com/NosCoreIO/NosCore.Algorithm.git</RepositoryUrl>
1313
<PackageIconUrl></PackageIconUrl>
1414
<PackageTags>nostale, noscore, nostale private server source, nostale emulator</PackageTags>
15-
<Version>0.3.0</Version>
15+
<Version>0.4.0</Version>
1616
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
1717
<Description>NosCore's Algorithm</Description>
1818
<PackageLicenseExpression>GPL-3.0-only</PackageLicenseExpression>
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// __ _ __ __ ___ __ ___ ___
2+
// | \| |/__\ /' _/ / _//__\| _ \ __|
3+
// | | ' | \/ |`._`.| \_| \/ | v / _|
4+
// |_|\__|\__/ |___/ \__/\__/|_|_\___|
5+
// -----------------------------------
6+
7+
using NosCore.Shared.Enumerations;
8+
9+
namespace NosCore.Algorithm.SpeedService
10+
{
11+
public interface ISpeedService
12+
{
13+
byte GetSpeed(CharacterClassType entityClass);
14+
}
15+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// __ _ __ __ ___ __ ___ ___
2+
// | \| |/__\ /' _/ / _//__\| _ \ __|
3+
// | | ' | \/ |`._`.| \_| \/ | v / _|
4+
// |_|\__|\__/ |___/ \__/\__/|_|_\___|
5+
// -----------------------------------
6+
7+
using System.Collections.Generic;
8+
using NosCore.Shared.Enumerations;
9+
10+
namespace NosCore.Algorithm.SpeedService
11+
{
12+
public class SpeedService : ISpeedService
13+
{
14+
private readonly Dictionary<CharacterClassType, byte> _data = new Dictionary<CharacterClassType, byte>();
15+
16+
public SpeedService()
17+
{
18+
_data[CharacterClassType.Adventurer] = 11;
19+
_data[CharacterClassType.Swordman] = 11;
20+
_data[CharacterClassType.Archer] = 12;
21+
_data[CharacterClassType.Magician] = 10;
22+
_data[CharacterClassType.MartialArtist] = 11;
23+
}
24+
25+
public byte GetSpeed(CharacterClassType entityClass)
26+
{
27+
return _data[entityClass];
28+
}
29+
}
30+
}

test/NosCore.Algorithm.Tests/DocumentationTest.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,9 @@ public void ReputationDocumentation()
158158
var reputationService = new ReputationService.ReputationService();
159159

160160
var resultBuilder = new StringBuilder("# Reputation Table");
161+
resultBuilder.AppendLine();
161162
foreach (var reput in Enum.GetValues(typeof(ReputationType)).Cast<ReputationType>())
162163
{
163-
resultBuilder.AppendLine();
164164
var result = reputationService.GetReputation(reput);
165165
resultBuilder.AppendLine($"- {(byte)reput,2} {reput.ToString().PadRight(16)} - Min: {result.Item1} Max: {result.Item2}");
166166
if (reput < ReputationType.GreenLegend)
@@ -179,9 +179,9 @@ public void DignityDocumentation()
179179
var dignityService = new DignityService.DignityService();
180180

181181
var resultBuilder = new StringBuilder("# Dignity Table");
182+
resultBuilder.AppendLine();
182183
foreach (var dignity in Enum.GetValues(typeof(DignityType)).Cast<DignityType>())
183184
{
184-
resultBuilder.AppendLine();
185185
var result = dignityService.GetDignity(dignity);
186186
resultBuilder.AppendLine($"- {(byte)dignity,2} {dignity.ToString().PadRight(11)} - Max: {result.Item1} Min: {result.Item2}");
187187
Assert.AreEqual(dignity, dignityService.GetLevelFromDignity(result.Item1));
@@ -211,6 +211,21 @@ public void SecondaryDamageDocumentation()
211211
Approvals.Verify(WriterFactory.CreateTextWriter(resultBuilder.ToString(), "md"));
212212
}
213213

214+
[TestMethod]
215+
public void SpeedDocumentation()
216+
{
217+
var speedService = new SpeedService.SpeedService();
218+
219+
var resultBuilder = new StringBuilder("# Speed Table");
220+
resultBuilder.AppendLine();
221+
foreach (var @class in Enum.GetValues(typeof(CharacterClassType)).Cast<CharacterClassType>())
222+
{
223+
resultBuilder.AppendLine($"- {@class} : {speedService.GetSpeed(@class)}");
224+
}
225+
226+
Approvals.Verify(WriterFactory.CreateTextWriter(resultBuilder.ToString(), "md"));
227+
}
228+
214229
[TestMethod]
215230
public void HitRateDocumentation()
216231
{

0 commit comments

Comments
 (0)