File tree Expand file tree Collapse file tree 8 files changed +303
-11
lines changed
test/NosCore.Algorithm.Tests Expand file tree Collapse file tree 8 files changed +303
-11
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,6 @@ Level 93 - XP: 1340194000
9595Level 94 - XP: 1457519000
9696Level 95 - XP: 1577327000
9797Level 96 - XP: 1699644000
98- Level 97 - XP: 1824496000
99- Level 98 - XP: 1951909000
100- Level 99 - XP: 2081909000
98+ Level 97 - XP: 1843704000
99+ Level 98 - XP: 1990719000
100+ Level 99 - XP: 2140719000
Original file line number Diff line number Diff line change 11============ HP Table =============
2- Class Adventurer
2+ -------------- Class Adventurer --------------
33Level 1 - HP: 205
44Level 2 - HP: 221
55Level 3 - HP: 238
@@ -99,7 +99,8 @@ Level 96 - HP: 6190
9999Level 97 - HP: 6301
100100Level 98 - HP: 6413
101101Level 99 - HP: 6526
102- Class Swordman
102+
103+ -------------- Class Swordman --------------
103104Level 1 - HP: 946
104105Level 2 - HP: 946
105106Level 3 - HP: 946
@@ -199,7 +200,8 @@ Level 96 - HP: 17290
199200Level 97 - HP: 17663
200201Level 98 - HP: 17851
201202Level 99 - HP: 18230
202- Class Archer
203+
204+ -------------- Class Archer --------------
203205Level 1 - HP: 680
204206Level 2 - HP: 680
205207Level 3 - HP: 680
@@ -299,7 +301,8 @@ Level 96 - HP: 9676
299301Level 97 - HP: 9815
300302Level 98 - HP: 9955
301303Level 99 - HP: 10238
302- Class Magician
304+
305+ -------------- Class Magician --------------
303306Level 1 - HP: 325
304307Level 2 - HP: 357
305308Level 3 - HP: 391
@@ -399,7 +402,8 @@ Level 96 - HP: 12295
399402Level 97 - HP: 12517
400403Level 98 - HP: 12741
401404Level 99 - HP: 12967
402- Class MartialArtist
405+
406+ -------------- Class MartialArtist --------------
403407Level 1 - HP: 946
404408Level 2 - HP: 946
405409Level 3 - HP: 946
Original file line number Diff line number Diff line change 1+ ============ SP Experience Table =============
2+ -------------- Primary SP --------------
3+ Level 1 - XP: 15000
4+ Level 2 - XP: 25000
5+ Level 3 - XP: 35000
6+ Level 4 - XP: 45000
7+ Level 5 - XP: 55000
8+ Level 6 - XP: 65000
9+ Level 7 - XP: 75000
10+ Level 8 - XP: 85000
11+ Level 9 - XP: 95000
12+ Level 10 - XP: 105000
13+ Level 11 - XP: 115000
14+ Level 12 - XP: 125000
15+ Level 13 - XP: 135000
16+ Level 14 - XP: 145000
17+ Level 15 - XP: 155000
18+ Level 16 - XP: 165000
19+ Level 17 - XP: 175000
20+ Level 18 - XP: 185000
21+ Level 19 - XP: 195000
22+ Level 20 - XP: 218000
23+ Level 21 - XP: 225566
24+ Level 22 - XP: 233888
25+ Level 23 - XP: 243002
26+ Level 24 - XP: 252944
27+ Level 25 - XP: 263750
28+ Level 26 - XP: 275456
29+ Level 27 - XP: 288098
30+ Level 28 - XP: 301712
31+ Level 29 - XP: 316334
32+ Level 30 - XP: 332000
33+ Level 31 - XP: 348746
34+ Level 32 - XP: 366608
35+ Level 33 - XP: 385622
36+ Level 34 - XP: 405824
37+ Level 35 - XP: 427250
38+ Level 36 - XP: 449936
39+ Level 37 - XP: 473918
40+ Level 38 - XP: 499232
41+ Level 39 - XP: 525914
42+ Level 40 - XP: 554000
43+ Level 41 - XP: 583526
44+ Level 42 - XP: 614528
45+ Level 43 - XP: 647042
46+ Level 44 - XP: 681104
47+ Level 45 - XP: 716750
48+ Level 46 - XP: 754016
49+ Level 47 - XP: 792938
50+ Level 48 - XP: 833552
51+ Level 49 - XP: 875894
52+ Level 50 - XP: 920000
53+ Level 51 - XP: 965906
54+ Level 52 - XP: 1013648
55+ Level 53 - XP: 1063262
56+ Level 54 - XP: 1114784
57+ Level 55 - XP: 1168250
58+ Level 56 - XP: 1223696
59+ Level 57 - XP: 1281158
60+ Level 58 - XP: 1340672
61+ Level 59 - XP: 1402274
62+ Level 60 - XP: 1466000
63+ Level 61 - XP: 1531886
64+ Level 62 - XP: 1599968
65+ Level 63 - XP: 1670282
66+ Level 64 - XP: 1742864
67+ Level 65 - XP: 1817750
68+ Level 66 - XP: 1894976
69+ Level 67 - XP: 1974578
70+ Level 68 - XP: 2056592
71+ Level 69 - XP: 2141054
72+ Level 70 - XP: 2228000
73+ Level 71 - XP: 2317466
74+ Level 72 - XP: 2409488
75+ Level 73 - XP: 2504102
76+ Level 74 - XP: 2601344
77+ Level 75 - XP: 2701250
78+ Level 76 - XP: 2803856
79+ Level 77 - XP: 2909198
80+ Level 78 - XP: 3017312
81+ Level 79 - XP: 3128234
82+ Level 80 - XP: 3242000
83+ Level 81 - XP: 3358646
84+ Level 82 - XP: 3478208
85+ Level 83 - XP: 3600722
86+ Level 84 - XP: 3726224
87+ Level 85 - XP: 3854750
88+ Level 86 - XP: 3986336
89+ Level 87 - XP: 4121018
90+ Level 88 - XP: 4258832
91+ Level 89 - XP: 4399814
92+ Level 90 - XP: 4544000
93+ Level 91 - XP: 4691426
94+ Level 92 - XP: 4842128
95+ Level 93 - XP: 4996142
96+ Level 94 - XP: 5153504
97+ Level 95 - XP: 5314250
98+ Level 96 - XP: 5478416
99+ Level 97 - XP: 5646038
100+ Level 98 - XP: 5817152
101+ Level 99 - XP: 5991794
102+
103+ -------------- Secondary SP --------------
104+ Level 1 - XP: 10000
105+ Level 2 - XP: 10000
106+ Level 3 - XP: 10000
107+ Level 4 - XP: 10000
108+ Level 5 - XP: 10000
109+ Level 6 - XP: 10000
110+ Level 7 - XP: 10000
111+ Level 8 - XP: 10000
112+ Level 9 - XP: 10000
113+ Level 10 - XP: 10000
114+ Level 11 - XP: 10000
115+ Level 12 - XP: 10000
116+ Level 13 - XP: 10000
117+ Level 14 - XP: 10000
118+ Level 15 - XP: 10000
119+ Level 16 - XP: 10000
120+ Level 17 - XP: 10000
121+ Level 18 - XP: 10000
122+ Level 19 - XP: 10000
123+ Level 20 - XP: 100000
124+ Level 21 - XP: 105000
125+ Level 22 - XP: 110000
126+ Level 23 - XP: 115000
127+ Level 24 - XP: 120000
128+ Level 25 - XP: 125000
129+ Level 26 - XP: 130000
130+ Level 27 - XP: 135000
131+ Level 28 - XP: 140000
132+ Level 29 - XP: 145000
133+ Level 30 - XP: 150000
134+ Level 31 - XP: 155000
135+ Level 32 - XP: 160000
136+ Level 33 - XP: 165000
137+ Level 34 - XP: 170000
138+ Level 35 - XP: 175000
139+ Level 36 - XP: 180000
140+ Level 37 - XP: 185000
141+ Level 38 - XP: 1
142+ Level 39 - XP: 1
143+ Level 40 - XP: 1
144+ Level 41 - XP: 1
145+ Level 42 - XP: 1
146+ Level 43 - XP: 1
147+ Level 44 - XP: 1
148+ Level 45 - XP: 1
149+ Level 46 - XP: 1
150+ Level 47 - XP: 1
151+ Level 48 - XP: 1
152+ Level 49 - XP: 1
153+ Level 50 - XP: 1
154+ Level 51 - XP: 1
155+ Level 52 - XP: 1
156+ Level 53 - XP: 1
157+ Level 54 - XP: 1
158+ Level 55 - XP: 1
159+ Level 56 - XP: 1
160+ Level 57 - XP: 1
161+ Level 58 - XP: 1
162+ Level 59 - XP: 1
163+ Level 60 - XP: 1
164+ Level 61 - XP: 1
165+ Level 62 - XP: 1
166+ Level 63 - XP: 1
167+ Level 64 - XP: 1
168+ Level 65 - XP: 1
169+ Level 66 - XP: 1
170+ Level 67 - XP: 1
171+ Level 68 - XP: 1
172+ Level 69 - XP: 1
173+ Level 70 - XP: 1
174+ Level 71 - XP: 1
175+ Level 72 - XP: 1
176+ Level 73 - XP: 1
177+ Level 74 - XP: 1
178+ Level 75 - XP: 1
179+ Level 76 - XP: 1
180+ Level 77 - XP: 1
181+ Level 78 - XP: 1
182+ Level 79 - XP: 1
183+ Level 80 - XP: 1
184+ Level 81 - XP: 1
185+ Level 82 - XP: 1
186+ Level 83 - XP: 1
187+ Level 84 - XP: 1
188+ Level 85 - XP: 1
189+ Level 86 - XP: 1
190+ Level 87 - XP: 1
191+ Level 88 - XP: 1
192+ Level 89 - XP: 1
193+ Level 90 - XP: 1
194+ Level 91 - XP: 1
195+ Level 92 - XP: 1
196+ Level 93 - XP: 1
197+ Level 94 - XP: 1
198+ Level 95 - XP: 1
199+ Level 96 - XP: 1
200+ Level 97 - XP: 1
201+ Level 98 - XP: 1
202+ Level 99 - XP: 1
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.ExperienceService
44{
55 public class ExperienceService : IExperienceService
66 {
7- private readonly double [ ] _xpData = new double [ Constants . MaxLevel ] ;
7+ private readonly double [ ] _xpData = new double [ Constants . MaxLevel ] ;
88
99 public ExperienceService ( )
1010 {
@@ -51,6 +51,10 @@ public ExperienceService()
5151 {
5252 var = 13000 ;
5353 }
54+ else if ( i == 96 )
55+ {
56+ var = 15000 ;
57+ }
5458
5559 _xpData [ i ] = Convert . ToInt64 ( _xpData [ i - 1 ] + var * ( i + 2 ) * ( i + 2 ) ) ;
5660 }
Original file line number Diff line number Diff line change 22
33namespace NosCore . Algorithm . HpService
44{
5+ //TODO finish/fix this service
56 public class HpService : IHpService
67 {
78 private readonly double [ , ] _hpData = new double [ Constants . ClassCount , Constants . MaxLevel ] ;
Original file line number Diff line number Diff line change 1+ // __ _ __ __ ___ __ ___ ___
2+ // | \| |/__\ /' _/ / _//__\| _ \ __|
3+ // | | ' | \/ |`._`.| \_| \/ | v / _|
4+ // |_|\__|\__/ |___/ \__/\__/|_|_\___|
5+ // -----------------------------------
6+
7+ namespace NosCore . Algorithm . SpExperienceService
8+ {
9+ public interface ISpExperienceService
10+ {
11+ long GetSpExperience ( byte level , bool isSecondarySp ) ;
12+ }
13+ }
Original file line number Diff line number Diff line change 1+ namespace NosCore . Algorithm . SpExperienceService
2+ {
3+ public class SpExperienceService : ISpExperienceService
4+ {
5+ private readonly double [ , ] _spXpData = new double [ 2 , Constants . MaxLevel ] ;
6+
7+ public SpExperienceService ( )
8+ {
9+ _spXpData [ 0 , 0 ] = 15000 ;
10+ _spXpData [ 0 , 19 ] = 218000 ;
11+ for ( int i = 1 ; i < 19 ; i ++ )
12+ {
13+ _spXpData [ 0 , i ] = _spXpData [ 0 , i - 1 ] + 10000 ;
14+ }
15+ for ( int i = 20 ; i < _spXpData . GetLength ( 1 ) ; i ++ )
16+ {
17+ _spXpData [ 0 , i ] = _spXpData [ 0 , i - 1 ] + 6 * ( 3 * i * ( i + 1 ) + 1 ) ;
18+ }
19+
20+ for ( int i = 0 ; i < Constants . MaxLevel ; i ++ )
21+ {
22+ if ( i < 19 )
23+ {
24+ _spXpData [ 1 , i ] = 10000 ;
25+ } else if ( i == 19 )
26+ {
27+ _spXpData [ 1 , i ] = 100000 ;
28+ }
29+ else if ( i < 37 )
30+ {
31+ _spXpData [ 1 , i ] = _spXpData [ 1 , i - 1 ] + 5000 ;
32+ }
33+ else
34+ {
35+ _spXpData [ 1 , i ] = 1 ;
36+ }
37+
38+ }
39+
40+ }
41+ public long GetSpExperience ( byte level , bool isSecondarySp )
42+ {
43+ return ( long ) _spXpData ! [ isSecondarySp ? 1 : 0 , level - 1 ] ;
44+ }
45+ }
46+ }
Original file line number Diff line number Diff line change @@ -27,17 +27,39 @@ public void ExperienceDocumentation()
2727 Approvals . Verify ( resultBuilder ) ;
2828 }
2929
30+ [ TestMethod ]
31+ public void SpExperienceDocumentation ( )
32+ {
33+ var experienceService = new SpExperienceService . SpExperienceService ( ) ;
34+
35+ StringBuilder resultBuilder = new StringBuilder ( "============ SP Experience Table =============" ) ;
36+
37+
38+ for ( int i = 0 ; i < 2 ; i ++ )
39+ {
40+ resultBuilder . AppendLine ( ) ;
41+ resultBuilder . AppendLine ( $ "-------------- { ( i == 0 ? "Primary" : "Secondary" ) } SP --------------") ;
42+ for ( byte level = 1 ; level < 100 ; level ++ )
43+ {
44+ resultBuilder . AppendLine (
45+ $ "Level { level . ToString ( ) . PadRight ( 2 ) } - XP: { experienceService . GetSpExperience ( level , i == 1 ) } ") ;
46+ }
47+ }
48+ Approvals . Verify ( resultBuilder ) ;
49+ }
50+
51+
3052 [ TestMethod ]
3153 public void HpDocumentation ( )
3254 {
3355 var experienceService = new HpService . HpService ( ) ;
3456
3557 StringBuilder resultBuilder = new StringBuilder ( "============ HP Table =============" ) ;
36- resultBuilder . AppendLine ( ) ;
3758
3859 foreach ( var @class in Enum . GetValues ( typeof ( CharacterClassType ) ) . Cast < CharacterClassType > ( ) )
3960 {
40- resultBuilder . AppendLine ( $ "Class { @class } ") ;
61+ resultBuilder . AppendLine ( ) ;
62+ resultBuilder . AppendLine ( $ "-------------- Class { @class } --------------") ;
4163 for ( byte level = 1 ; level < 100 ; level ++ )
4264 {
4365 resultBuilder . AppendLine (
You can’t perform that action at this time.
0 commit comments