From 2d46f69ad56907e8faed687c63f5732cb85a01c0 Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Fri, 9 Jul 2021 00:08:26 +0200 Subject: [PATCH 1/8] Cleanup hp algorithm --- ...umentationTest.HpDocumentation.approved.md | 20 ++-- src/NosCore.Algorithm/Constants.cs | 3 +- src/NosCore.Algorithm/HpService/HpService.cs | 91 ++----------------- .../NosCore.Algorithm.csproj | 2 +- 4 files changed, 21 insertions(+), 95 deletions(-) diff --git a/documentation/DocumentationTest.HpDocumentation.approved.md b/documentation/DocumentationTest.HpDocumentation.approved.md index 7a849d2..a1ccbce 100644 --- a/documentation/DocumentationTest.HpDocumentation.approved.md +++ b/documentation/DocumentationTest.HpDocumentation.approved.md @@ -411,7 +411,7 @@ - Level 5 - HP: 338 - Level 6 - HP: 361 - Level 7 - HP: 410 -- Level 8 - HP: 463 +- Level 8 - HP: 436 - Level 9 - HP: 491 - Level 10 - HP: 520 - Level 11 - HP: 581 @@ -421,7 +421,7 @@ - Level 15 - HP: 788 - Level 16 - HP: 826 - Level 17 - HP: 905 -- Level 18 - HP: 988 +- Level 18 - HP: 946 - Level 19 - HP: 1031 - Level 20 - HP: 1075 - Level 21 - HP: 1166 @@ -431,7 +431,7 @@ - Level 25 - HP: 1463 - Level 26 - HP: 1516 - Level 27 - HP: 1625 -- Level 28 - HP: 1738 +- Level 28 - HP: 1681 - Level 29 - HP: 1796 - Level 30 - HP: 1855 - Level 31 - HP: 1976 @@ -441,7 +441,7 @@ - Level 35 - HP: 2363 - Level 36 - HP: 2431 - Level 37 - HP: 2570 -- Level 38 - HP: 2713 +- Level 38 - HP: 2641 - Level 39 - HP: 2786 - Level 40 - HP: 2860 - Level 41 - HP: 3011 @@ -451,7 +451,7 @@ - Level 45 - HP: 3488 - Level 46 - HP: 3571 - Level 47 - HP: 3740 -- Level 48 - HP: 3913 +- Level 48 - HP: 3826 - Level 49 - HP: 4001 - Level 50 - HP: 4090 - Level 51 - HP: 4271 @@ -461,7 +461,7 @@ - Level 55 - HP: 4838 - Level 56 - HP: 4936 - Level 57 - HP: 5135 -- Level 58 - HP: 5338 +- Level 58 - HP: 5236 - Level 59 - HP: 5441 - Level 60 - HP: 5545 - Level 61 - HP: 5756 @@ -471,7 +471,7 @@ - Level 65 - HP: 6413 - Level 66 - HP: 6526 - Level 67 - HP: 6755 -- Level 68 - HP: 6988 +- Level 68 - HP: 6871 - Level 69 - HP: 7106 - Level 70 - HP: 7225 - Level 71 - HP: 7466 @@ -481,7 +481,7 @@ - Level 75 - HP: 8213 - Level 76 - HP: 8341 - Level 77 - HP: 8600 -- Level 78 - HP: 8863 +- Level 78 - HP: 8731 - Level 79 - HP: 8996 - Level 80 - HP: 9130 - Level 81 - HP: 9401 @@ -491,7 +491,7 @@ - Level 85 - HP: 10238 - Level 86 - HP: 10381 - Level 87 - HP: 10670 -- Level 88 - HP: 10963 +- Level 88 - HP: 10816 - Level 89 - HP: 11111 - Level 90 - HP: 11260 - Level 91 - HP: 11561 @@ -501,5 +501,5 @@ - Level 95 - HP: 12488 - Level 96 - HP: 12646 - Level 97 - HP: 12965 -- Level 98 - HP: 13288 +- Level 98 - HP: 13126 - Level 99 - HP: 13451 diff --git a/src/NosCore.Algorithm/Constants.cs b/src/NosCore.Algorithm/Constants.cs index 1fe89bd..1a6f476 100644 --- a/src/NosCore.Algorithm/Constants.cs +++ b/src/NosCore.Algorithm/Constants.cs @@ -9,6 +9,7 @@ internal class Constants internal const byte MaxFairyLevel = 80; internal const byte MaxJobLevel = 80; internal const byte MaxHeroLevel = 60; - internal static readonly int ClassCount = Enum.GetNames(typeof(CharacterClassType)).Length; + internal static readonly int ClassCount = Enum.GetNames(typeof(CharacterClassType)).Length; + internal static readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; } } diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 61c892a..4b109f9 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,98 +11,23 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel + 1]; public HpService() - { - // Adventurer HP - var basicHp = 205; - var basicInc = 15; - for (var i = 0; i < Constants.MaxLevel; i++) - { - basicInc++; - basicHp += basicInc; - - _hpData[(byte)CharacterClassType.Adventurer, i] = basicHp; - } - - var swordHp = 190; - var swordInc = 14; - for (var i = 0; i < Constants.MaxLevel; i++) - { - var increase2 = (i - 2) % 10 == 0; - var increase3 = (i - 3) % 10 == 0; - var increase4 = (i - 4) % 10 == 0; - var increase5 = (i - 5) % 10 == 0; - var increase7 = (i - 7) % 10 == 0; - var increase8 = (i - 8) % 10 == 0; - var increase9 = (i - 9) % 10 == 0; - - swordInc++; - swordHp += swordInc; - - if (increase2 || increase3 || increase4 || increase5 || increase7 || increase8 || increase9 || i % 10 == 0) - { - swordInc++; - swordHp += swordInc; - } - - _hpData[(byte)CharacterClassType.Swordsman, i] = swordHp; - } - - var magecHp = 205; - var mageInc = 15; - for (var i = 0; i < Constants.MaxLevel; i++) - { - mageInc++; - magecHp += mageInc; - - _hpData[(byte)CharacterClassType.Mage, i] = magecHp; - } - - var archerHp = 190; - var archerInc = 14; - for (var i = 0; i < Constants.MaxLevel; i++) - { - var increase4 = (i - 4) % 10 == 0; - var increase7 = (i - 7) % 10 == 0; - - archerInc++; - archerHp += archerInc; - - if (increase4 || increase7 || i % 10 == 0) - { - archerInc++; - archerHp += archerInc; - } - - _hpData[(byte)CharacterClassType.Archer, i] = archerHp; - } - - var fighterHp = 190; - var fighterInc = 14; - for (var i = 0; i < Constants.MaxLevel; i++) + { + foreach (CharacterClassType classType in Enum.GetValues(typeof(CharacterClassType))) { - var increase2 = (i - 2) % 10 == 0; - var increase4 = (i - 4) % 10 == 0; - var increase6 = (i - 6) % 10 == 0; - var increase7 = (i - 7) % 10 == 0; - - fighterInc++; - fighterHp += fighterInc; - - if (increase2 || increase4 || increase6 || increase7 || i % 10 == 0) + for (var i = 1; i < Constants.MaxLevel + 1; i++) { - fighterInc++; - fighterHp += fighterInc; + var hpx = i + Math.Floor((i - 1) * (double)(Constants.ClassConstants[(int)classType][0]) / 10); + var hp = (0.5 * Math.Pow(hpx, 2)) + (15.5 * hpx) + 205; + _hpData[(int)classType, i] = (long)hp; } - - _hpData[(byte)CharacterClassType.MartialArtist, i] = fighterHp; } } public long GetHp(CharacterClassType @class, byte level) { - return _hpData![(byte)@class, level-1]; + return _hpData![(byte)@class, level]; } } } diff --git a/src/NosCore.Algorithm/NosCore.Algorithm.csproj b/src/NosCore.Algorithm/NosCore.Algorithm.csproj index f05925d..7323757 100644 --- a/src/NosCore.Algorithm/NosCore.Algorithm.csproj +++ b/src/NosCore.Algorithm/NosCore.Algorithm.csproj @@ -13,7 +13,7 @@ https://github.com/NosCoreIO/NosCore.Algorithm.git nostale, noscore, nostale private server source, nostale emulator - 0.6.2 + 0.6.3 false NosCore's Algorithm GPL-3.0-only From 42addce6dd70f6e25ffdd9dbb3963f9eb72c24a7 Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Wed, 14 Jul 2021 02:43:48 +0200 Subject: [PATCH 2/8] Start array at 0 --- src/NosCore.Algorithm/HpService/HpService.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 4b109f9..68f010f 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,15 +11,15 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel + 1]; + private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel]; public HpService() { foreach (CharacterClassType classType in Enum.GetValues(typeof(CharacterClassType))) { - for (var i = 1; i < Constants.MaxLevel + 1; i++) + for (var i = 0; i < Constants.MaxLevel; i++) { - var hpx = i + Math.Floor((i - 1) * (double)(Constants.ClassConstants[(int)classType][0]) / 10); + var hpx = i + 1 + Math.Floor(i * (double)(Constants.ClassConstants[(int)classType][0]) / 10); var hp = (0.5 * Math.Pow(hpx, 2)) + (15.5 * hpx) + 205; _hpData[(int)classType, i] = (long)hp; } @@ -27,7 +27,7 @@ public HpService() } public long GetHp(CharacterClassType @class, byte level) { - return _hpData![(byte)@class, level]; + return _hpData![(byte)@class, level-1]; } } } From 3d3902cd027fca6638f37bde4160919d027abf5f Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Wed, 14 Jul 2021 02:47:02 +0200 Subject: [PATCH 3/8] Remove ClassCount constant --- .../CloseDefenceService/CloseDefenceService.cs | 4 +--- src/NosCore.Algorithm/Constants.cs | 8 ++------ src/NosCore.Algorithm/DamageService/DamageService.cs | 5 +---- .../DistanceDefenceService/DistanceDefenceService.cs | 4 +--- .../DistanceDodgeService/DistanceDodgeService.cs | 4 +--- src/NosCore.Algorithm/DodgeService/HitDodgeService.cs | 4 +--- src/NosCore.Algorithm/HitRateService/HitRateService.cs | 4 +--- src/NosCore.Algorithm/HpService/HpService.cs | 2 +- .../JobExperienceService/JobExperienceService.cs | 5 +++-- .../MagicDefenceService/MagicDefenceService.cs | 4 +--- .../SecondaryDamageService/SecondaryDamageService.cs | 4 +--- .../SecondaryHitRateService/SecondaryHitRateService.cs | 4 +--- 12 files changed, 15 insertions(+), 37 deletions(-) diff --git a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs index aa18e9f..879eb2f 100644 --- a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs +++ b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.CloseDefenceService { public class CloseDefenceService : ICloseDefenceService { - private readonly long[,] _closeDefence = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _closeDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public CloseDefenceService() { diff --git a/src/NosCore.Algorithm/Constants.cs b/src/NosCore.Algorithm/Constants.cs index 1a6f476..ec8383d 100644 --- a/src/NosCore.Algorithm/Constants.cs +++ b/src/NosCore.Algorithm/Constants.cs @@ -1,15 +1,11 @@ -using System; -using NosCore.Shared.Enumerations; - -namespace NosCore.Algorithm +namespace NosCore.Algorithm { internal class Constants { internal const byte MaxLevel = 99; internal const byte MaxFairyLevel = 80; internal const byte MaxJobLevel = 80; - internal const byte MaxHeroLevel = 60; - internal static readonly int ClassCount = Enum.GetNames(typeof(CharacterClassType)).Length; + internal const byte MaxHeroLevel = 60; internal static readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; } } diff --git a/src/NosCore.Algorithm/DamageService/DamageService.cs b/src/NosCore.Algorithm/DamageService/DamageService.cs index fa5bb18..0ede00e 100644 --- a/src/NosCore.Algorithm/DamageService/DamageService.cs +++ b/src/NosCore.Algorithm/DamageService/DamageService.cs @@ -4,17 +4,14 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using NosCore.Algorithm.HpService; using System; -using System.Collections.Generic; -using System.Text; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.DamageService { public class DamageService : IDamageService { - private readonly long[,] _minDamage = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _minDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DamageService() { diff --git a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs index 5ee12a1..51e1589 100644 --- a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs +++ b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.DistanceDefenceService { public class DistanceDefenceService : IDistanceDefenceService { - private readonly long[,] _distanceDefence = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _distanceDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DistanceDefenceService() { diff --git a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs index 0f97444..54154be 100644 --- a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs +++ b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.DistanceDodgeService { public class DistanceDodgeService : IDistanceDodgeService { - private readonly long[,] _distanceDodge = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _distanceDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DistanceDodgeService() { diff --git a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs index 0e29155..20ee954 100644 --- a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs +++ b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.HitDodgeService { public class HitDodgeService : IHitDodgeService { - private readonly long[,] _hitDodge = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _hitDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public HitDodgeService() { diff --git a/src/NosCore.Algorithm/HitRateService/HitRateService.cs b/src/NosCore.Algorithm/HitRateService/HitRateService.cs index 24c4992..343fd8f 100644 --- a/src/NosCore.Algorithm/HitRateService/HitRateService.cs +++ b/src/NosCore.Algorithm/HitRateService/HitRateService.cs @@ -5,15 +5,13 @@ // ----------------------------------- using System; -using System.Collections.Generic; -using System.Text; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.HitRateService { public class HitRateService : IHitRateService { - private readonly long[,] _hitRate = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _hitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public HitRateService() { var archerHitRate = 31; diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 68f010f..5f2e9ba 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,7 +11,7 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _hpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public HpService() { diff --git a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs index 880cc8d..e27504f 100644 --- a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs +++ b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs @@ -5,12 +5,13 @@ // ----------------------------------- using NosCore.Shared.Enumerations; - +using System; + namespace NosCore.Algorithm.JobExperienceService { public class JobExperienceService : IJobExperienceService { - private readonly long[,] _jobXpData = new long[Constants.ClassCount, Constants.MaxJobLevel]; + private readonly long[,] _jobXpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxJobLevel]; public JobExperienceService() { diff --git a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs index 67e4af0..c568b40 100644 --- a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs +++ b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.MagicDefenceService { public class MagicDefenceService : IMagicDefenceService { - private readonly long[,] _magicDefence = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _magicDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public MagicDefenceService() { diff --git a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs index 238950d..dbed120 100644 --- a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs +++ b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs @@ -5,15 +5,13 @@ // ----------------------------------- using System; -using System.Collections.Generic; -using System.Text; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.SecondaryDamageService { public class SecondaryDamageService : ISecondaryDamageService { - private readonly long[,] _secondaryMinDamage = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _secondaryMinDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public SecondaryDamageService() { diff --git a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs index bbde947..ed602f4 100644 --- a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs +++ b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs @@ -1,13 +1,11 @@ using NosCore.Shared.Enumerations; using System; -using System.Collections.Generic; -using System.Text; namespace NosCore.Algorithm.SecondaryHitRateService { public class SecondaryHitRateService : ISecondaryHitRateService { - private readonly long[,] _secondaryHitRate = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _secondaryHitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public SecondaryHitRateService() { From 8bbd0c4bea4f433eabe0d4f418d8261a4af0c647 Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Wed, 14 Jul 2021 02:51:30 +0200 Subject: [PATCH 4/8] Fix tests --- src/NosCore.Algorithm/MpService/MpService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NosCore.Algorithm/MpService/MpService.cs b/src/NosCore.Algorithm/MpService/MpService.cs index 3cece59..9bfaceb 100644 --- a/src/NosCore.Algorithm/MpService/MpService.cs +++ b/src/NosCore.Algorithm/MpService/MpService.cs @@ -11,7 +11,7 @@ namespace NosCore.Algorithm.MpService { public class MpService : IMpService { - private readonly long[,] _mpData = new long[Constants.ClassCount, Constants.MaxLevel]; + private readonly long[,] _mpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public MpService() { From 1b70829b7b2057369b770aa5805f8020391d73ec Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Sat, 21 Aug 2021 14:42:45 +0200 Subject: [PATCH 5/8] Cleanup --- .../CloseDefenceService/CloseDefenceService.cs | 3 +-- src/NosCore.Algorithm/Constants.cs | 3 +-- src/NosCore.Algorithm/DamageService/DamageService.cs | 3 +-- src/NosCore.Algorithm/DignityService/DignityService.cs | 1 - .../DistanceDefenceService/DistanceDefenceService.cs | 3 +-- .../DistanceDodgeService/DistanceDodgeService.cs | 3 +-- src/NosCore.Algorithm/DodgeService/HitDodgeService.cs | 3 +-- .../HeroExperienceService/HeroExperienceService.cs | 1 - src/NosCore.Algorithm/HitRateService/HitRateService.cs | 3 +-- src/NosCore.Algorithm/HpService/HpService.cs | 5 +++-- .../JobExperienceService/JobExperienceService.cs | 5 ++--- .../MagicDefenceService/MagicDefenceService.cs | 3 +-- src/NosCore.Algorithm/MpService/MpService.cs | 3 +-- .../SecondaryDamageService/SecondaryDamageService.cs | 3 +-- .../SecondaryHitRateService/SecondaryHitRateService.cs | 3 +-- 15 files changed, 16 insertions(+), 29 deletions(-) diff --git a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs index 879eb2f..b571a7a 100644 --- a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs +++ b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.CloseDefenceService { public class CloseDefenceService : ICloseDefenceService { - private readonly long[,] _closeDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _closeDefence = new long[5, Constants.MaxLevel]; public CloseDefenceService() { diff --git a/src/NosCore.Algorithm/Constants.cs b/src/NosCore.Algorithm/Constants.cs index ec8383d..fac88a4 100644 --- a/src/NosCore.Algorithm/Constants.cs +++ b/src/NosCore.Algorithm/Constants.cs @@ -5,7 +5,6 @@ internal class Constants internal const byte MaxLevel = 99; internal const byte MaxFairyLevel = 80; internal const byte MaxJobLevel = 80; - internal const byte MaxHeroLevel = 60; - internal static readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; + internal const byte MaxHeroLevel = 60; } } diff --git a/src/NosCore.Algorithm/DamageService/DamageService.cs b/src/NosCore.Algorithm/DamageService/DamageService.cs index 0ede00e..8467678 100644 --- a/src/NosCore.Algorithm/DamageService/DamageService.cs +++ b/src/NosCore.Algorithm/DamageService/DamageService.cs @@ -4,14 +4,13 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using System; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.DamageService { public class DamageService : IDamageService { - private readonly long[,] _minDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _minDamage = new long[5, Constants.MaxLevel]; public DamageService() { diff --git a/src/NosCore.Algorithm/DignityService/DignityService.cs b/src/NosCore.Algorithm/DignityService/DignityService.cs index 2c7a04b..812599a 100644 --- a/src/NosCore.Algorithm/DignityService/DignityService.cs +++ b/src/NosCore.Algorithm/DignityService/DignityService.cs @@ -7,7 +7,6 @@ using System; using System.Collections.Generic; using System.Linq; -using NosCore.Algorithm.DignityService; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.DignityService diff --git a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs index 51e1589..a543e55 100644 --- a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs +++ b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.DistanceDefenceService { public class DistanceDefenceService : IDistanceDefenceService { - private readonly long[,] _distanceDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _distanceDefence = new long[5, Constants.MaxLevel]; public DistanceDefenceService() { diff --git a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs index 54154be..0c8dca4 100644 --- a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs +++ b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.DistanceDodgeService { public class DistanceDodgeService : IDistanceDodgeService { - private readonly long[,] _distanceDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _distanceDodge = new long[5, Constants.MaxLevel]; public DistanceDodgeService() { diff --git a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs index 20ee954..f09394d 100644 --- a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs +++ b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.HitDodgeService { public class HitDodgeService : IHitDodgeService { - private readonly long[,] _hitDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hitDodge = new long[5, Constants.MaxLevel]; public HitDodgeService() { diff --git a/src/NosCore.Algorithm/HeroExperienceService/HeroExperienceService.cs b/src/NosCore.Algorithm/HeroExperienceService/HeroExperienceService.cs index 0d1df80..00d5ba3 100644 --- a/src/NosCore.Algorithm/HeroExperienceService/HeroExperienceService.cs +++ b/src/NosCore.Algorithm/HeroExperienceService/HeroExperienceService.cs @@ -5,7 +5,6 @@ // ----------------------------------- using System; -using NosCore.Algorithm.ExperienceService; namespace NosCore.Algorithm.HeroExperienceService { diff --git a/src/NosCore.Algorithm/HitRateService/HitRateService.cs b/src/NosCore.Algorithm/HitRateService/HitRateService.cs index 343fd8f..02ef688 100644 --- a/src/NosCore.Algorithm/HitRateService/HitRateService.cs +++ b/src/NosCore.Algorithm/HitRateService/HitRateService.cs @@ -4,14 +4,13 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using System; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.HitRateService { public class HitRateService : IHitRateService { - private readonly long[,] _hitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hitRate = new long[5, Constants.MaxLevel]; public HitRateService() { var archerHitRate = 31; diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 5f2e9ba..035e974 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,7 +11,8 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hpData = new long[5, Constants.MaxLevel]; + public readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; public HpService() { @@ -19,7 +20,7 @@ public HpService() { for (var i = 0; i < Constants.MaxLevel; i++) { - var hpx = i + 1 + Math.Floor(i * (double)(Constants.ClassConstants[(int)classType][0]) / 10); + var hpx = i + 1 + Math.Floor(i * (double)(ClassConstants[(int)classType][0]) / 10); var hp = (0.5 * Math.Pow(hpx, 2)) + (15.5 * hpx) + 205; _hpData[(int)classType, i] = (long)hp; } diff --git a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs index e27504f..7477243 100644 --- a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs +++ b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs @@ -4,14 +4,13 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using NosCore.Shared.Enumerations; -using System; +using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.JobExperienceService { public class JobExperienceService : IJobExperienceService { - private readonly long[,] _jobXpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxJobLevel]; + private readonly long[,] _jobXpData = new long[5, Constants.MaxJobLevel]; public JobExperienceService() { diff --git a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs index c568b40..e89a759 100644 --- a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs +++ b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.MagicDefenceService { public class MagicDefenceService : IMagicDefenceService { - private readonly long[,] _magicDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _magicDefence = new long[5, Constants.MaxLevel]; public MagicDefenceService() { diff --git a/src/NosCore.Algorithm/MpService/MpService.cs b/src/NosCore.Algorithm/MpService/MpService.cs index 9bfaceb..551b381 100644 --- a/src/NosCore.Algorithm/MpService/MpService.cs +++ b/src/NosCore.Algorithm/MpService/MpService.cs @@ -4,14 +4,13 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using System; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.MpService { public class MpService : IMpService { - private readonly long[,] _mpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _mpData = new long[5, Constants.MaxLevel]; public MpService() { diff --git a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs index dbed120..d5a8772 100644 --- a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs +++ b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs @@ -4,14 +4,13 @@ // |_|\__|\__/ |___/ \__/\__/|_|_\___| // ----------------------------------- -using System; using NosCore.Shared.Enumerations; namespace NosCore.Algorithm.SecondaryDamageService { public class SecondaryDamageService : ISecondaryDamageService { - private readonly long[,] _secondaryMinDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _secondaryMinDamage = new long[5, Constants.MaxLevel]; public SecondaryDamageService() { diff --git a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs index ed602f4..97b6180 100644 --- a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs +++ b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.SecondaryHitRateService { public class SecondaryHitRateService : ISecondaryHitRateService { - private readonly long[,] _secondaryHitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _secondaryHitRate = new long[5, Constants.MaxLevel]; public SecondaryHitRateService() { From b5b6e0c61e74512d3aac774833160114559734e3 Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Sat, 21 Aug 2021 22:12:06 +0200 Subject: [PATCH 6/8] Revert some changes --- .../CloseDefenceService/CloseDefenceService.cs | 2 +- src/NosCore.Algorithm/DamageService/DamageService.cs | 2 +- .../DistanceDefenceService/DistanceDefenceService.cs | 2 +- .../DistanceDodgeService/DistanceDodgeService.cs | 2 +- src/NosCore.Algorithm/DodgeService/HitDodgeService.cs | 2 +- src/NosCore.Algorithm/HitRateService/HitRateService.cs | 2 +- src/NosCore.Algorithm/HpService/HpService.cs | 2 +- .../JobExperienceService/JobExperienceService.cs | 2 +- .../MagicDefenceService/MagicDefenceService.cs | 2 +- src/NosCore.Algorithm/MpService/MpService.cs | 2 +- .../SecondaryDamageService/SecondaryDamageService.cs | 2 +- .../SecondaryHitRateService/SecondaryHitRateService.cs | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs index b571a7a..7b65289 100644 --- a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs +++ b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.CloseDefenceService { public class CloseDefenceService : ICloseDefenceService { - private readonly long[,] _closeDefence = new long[5, Constants.MaxLevel]; + private readonly long[,] _closeDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public CloseDefenceService() { diff --git a/src/NosCore.Algorithm/DamageService/DamageService.cs b/src/NosCore.Algorithm/DamageService/DamageService.cs index 8467678..cc5de47 100644 --- a/src/NosCore.Algorithm/DamageService/DamageService.cs +++ b/src/NosCore.Algorithm/DamageService/DamageService.cs @@ -10,7 +10,7 @@ namespace NosCore.Algorithm.DamageService { public class DamageService : IDamageService { - private readonly long[,] _minDamage = new long[5, Constants.MaxLevel]; + private readonly long[,] _minDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DamageService() { diff --git a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs index a543e55..ddff22a 100644 --- a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs +++ b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.DistanceDefenceService { public class DistanceDefenceService : IDistanceDefenceService { - private readonly long[,] _distanceDefence = new long[5, Constants.MaxLevel]; + private readonly long[,] _distanceDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DistanceDefenceService() { diff --git a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs index 0c8dca4..f28947b 100644 --- a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs +++ b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.DistanceDodgeService { public class DistanceDodgeService : IDistanceDodgeService { - private readonly long[,] _distanceDodge = new long[5, Constants.MaxLevel]; + private readonly long[,] _distanceDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public DistanceDodgeService() { diff --git a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs index f09394d..c9fc0e6 100644 --- a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs +++ b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.HitDodgeService { public class HitDodgeService : IHitDodgeService { - private readonly long[,] _hitDodge = new long[5, Constants.MaxLevel]; + private readonly long[,] _hitDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public HitDodgeService() { diff --git a/src/NosCore.Algorithm/HitRateService/HitRateService.cs b/src/NosCore.Algorithm/HitRateService/HitRateService.cs index 02ef688..e7d59c9 100644 --- a/src/NosCore.Algorithm/HitRateService/HitRateService.cs +++ b/src/NosCore.Algorithm/HitRateService/HitRateService.cs @@ -10,7 +10,7 @@ namespace NosCore.Algorithm.HitRateService { public class HitRateService : IHitRateService { - private readonly long[,] _hitRate = new long[5, Constants.MaxLevel]; + private readonly long[,] _hitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public HitRateService() { var archerHitRate = 31; diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 035e974..470033a 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,7 +11,7 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[5, Constants.MaxLevel]; + private readonly long[,] _hpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; public HpService() diff --git a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs index 7477243..8db61cc 100644 --- a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs +++ b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs @@ -10,7 +10,7 @@ namespace NosCore.Algorithm.JobExperienceService { public class JobExperienceService : IJobExperienceService { - private readonly long[,] _jobXpData = new long[5, Constants.MaxJobLevel]; + private readonly long[,] _jobXpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxJobLevel]; public JobExperienceService() { diff --git a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs index e89a759..667a729 100644 --- a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs +++ b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.MagicDefenceService { public class MagicDefenceService : IMagicDefenceService { - private readonly long[,] _magicDefence = new long[5, Constants.MaxLevel]; + private readonly long[,] _magicDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public MagicDefenceService() { diff --git a/src/NosCore.Algorithm/MpService/MpService.cs b/src/NosCore.Algorithm/MpService/MpService.cs index 551b381..19d549c 100644 --- a/src/NosCore.Algorithm/MpService/MpService.cs +++ b/src/NosCore.Algorithm/MpService/MpService.cs @@ -10,7 +10,7 @@ namespace NosCore.Algorithm.MpService { public class MpService : IMpService { - private readonly long[,] _mpData = new long[5, Constants.MaxLevel]; + private readonly long[,] _mpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public MpService() { diff --git a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs index d5a8772..ed1fa8d 100644 --- a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs +++ b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs @@ -10,7 +10,7 @@ namespace NosCore.Algorithm.SecondaryDamageService { public class SecondaryDamageService : ISecondaryDamageService { - private readonly long[,] _secondaryMinDamage = new long[5, Constants.MaxLevel]; + private readonly long[,] _secondaryMinDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public SecondaryDamageService() { diff --git a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs index 97b6180..4444718 100644 --- a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs +++ b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs @@ -4,7 +4,7 @@ namespace NosCore.Algorithm.SecondaryHitRateService { public class SecondaryHitRateService : ISecondaryHitRateService { - private readonly long[,] _secondaryHitRate = new long[5, Constants.MaxLevel]; + private readonly long[,] _secondaryHitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; public SecondaryHitRateService() { From 72280d3132780cdbab2d67e04ce816a719631c58 Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Sat, 21 Aug 2021 22:22:21 +0200 Subject: [PATCH 7/8] Fix tests --- src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs | 1 + src/NosCore.Algorithm/DamageService/DamageService.cs | 1 + .../DistanceDefenceService/DistanceDefenceService.cs | 1 + .../DistanceDodgeService/DistanceDodgeService.cs | 1 + src/NosCore.Algorithm/DodgeService/HitDodgeService.cs | 1 + src/NosCore.Algorithm/HitRateService/HitRateService.cs | 1 + .../JobExperienceService/JobExperienceService.cs | 1 + src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs | 1 + src/NosCore.Algorithm/MpService/MpService.cs | 1 + .../SecondaryDamageService/SecondaryDamageService.cs | 1 + .../SecondaryHitRateService/SecondaryHitRateService.cs | 1 + 11 files changed, 11 insertions(+) diff --git a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs index 7b65289..879eb2f 100644 --- a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs +++ b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.CloseDefenceService { diff --git a/src/NosCore.Algorithm/DamageService/DamageService.cs b/src/NosCore.Algorithm/DamageService/DamageService.cs index cc5de47..ac7aab2 100644 --- a/src/NosCore.Algorithm/DamageService/DamageService.cs +++ b/src/NosCore.Algorithm/DamageService/DamageService.cs @@ -5,6 +5,7 @@ // ----------------------------------- using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.DamageService { diff --git a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs index ddff22a..51e1589 100644 --- a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs +++ b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.DistanceDefenceService { diff --git a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs index f28947b..54154be 100644 --- a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs +++ b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.DistanceDodgeService { diff --git a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs index c9fc0e6..20ee954 100644 --- a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs +++ b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.HitDodgeService { diff --git a/src/NosCore.Algorithm/HitRateService/HitRateService.cs b/src/NosCore.Algorithm/HitRateService/HitRateService.cs index e7d59c9..9078e4e 100644 --- a/src/NosCore.Algorithm/HitRateService/HitRateService.cs +++ b/src/NosCore.Algorithm/HitRateService/HitRateService.cs @@ -5,6 +5,7 @@ // ----------------------------------- using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.HitRateService { diff --git a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs index 8db61cc..ab4de41 100644 --- a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs +++ b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs @@ -5,6 +5,7 @@ // ----------------------------------- using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.JobExperienceService { diff --git a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs index 667a729..c568b40 100644 --- a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs +++ b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.MagicDefenceService { diff --git a/src/NosCore.Algorithm/MpService/MpService.cs b/src/NosCore.Algorithm/MpService/MpService.cs index 19d549c..fe51753 100644 --- a/src/NosCore.Algorithm/MpService/MpService.cs +++ b/src/NosCore.Algorithm/MpService/MpService.cs @@ -5,6 +5,7 @@ // ----------------------------------- using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.MpService { diff --git a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs index ed1fa8d..6c59f4f 100644 --- a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs +++ b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs @@ -5,6 +5,7 @@ // ----------------------------------- using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.SecondaryDamageService { diff --git a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs index 4444718..ed602f4 100644 --- a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs +++ b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs @@ -1,4 +1,5 @@ using NosCore.Shared.Enumerations; +using System; namespace NosCore.Algorithm.SecondaryHitRateService { From 85c6a6ee530247e66706e1357749ac6ffc57600f Mon Sep 17 00:00:00 2001 From: Fizo55 Date: Sun, 22 Aug 2021 02:37:41 +0200 Subject: [PATCH 8/8] Move classcount to constant --- .../CloseDefenceService/CloseDefenceService.cs | 3 +-- src/NosCore.Algorithm/Constants.cs | 6 +++++- src/NosCore.Algorithm/DamageService/DamageService.cs | 5 ++--- .../DistanceDefenceService/DistanceDefenceService.cs | 3 +-- .../DistanceDodgeService/DistanceDodgeService.cs | 3 +-- src/NosCore.Algorithm/DodgeService/HitDodgeService.cs | 3 +-- src/NosCore.Algorithm/HitRateService/HitRateService.cs | 3 +-- src/NosCore.Algorithm/HpService/HpService.cs | 2 +- .../JobExperienceService/JobExperienceService.cs | 3 +-- .../MagicDefenceService/MagicDefenceService.cs | 3 +-- src/NosCore.Algorithm/MpService/MpService.cs | 3 +-- .../SecondaryDamageService/SecondaryDamageService.cs | 2 +- .../SecondaryHitRateService/SecondaryHitRateService.cs | 3 +-- 13 files changed, 18 insertions(+), 24 deletions(-) diff --git a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs index 879eb2f..1a0c6b3 100644 --- a/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs +++ b/src/NosCore.Algorithm/CloseDefenceService/CloseDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.CloseDefenceService { public class CloseDefenceService : ICloseDefenceService { - private readonly long[,] _closeDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _closeDefence = new long[Constants.ClassCount, Constants.MaxLevel]; public CloseDefenceService() { diff --git a/src/NosCore.Algorithm/Constants.cs b/src/NosCore.Algorithm/Constants.cs index fac88a4..c5a60ed 100644 --- a/src/NosCore.Algorithm/Constants.cs +++ b/src/NosCore.Algorithm/Constants.cs @@ -1,4 +1,7 @@ -namespace NosCore.Algorithm +using NosCore.Shared.Enumerations; +using System; + +namespace NosCore.Algorithm { internal class Constants { @@ -6,5 +9,6 @@ internal class Constants internal const byte MaxFairyLevel = 80; internal const byte MaxJobLevel = 80; internal const byte MaxHeroLevel = 60; + internal static readonly int ClassCount = Enum.GetNames(typeof(CharacterClassType)).Length; } } diff --git a/src/NosCore.Algorithm/DamageService/DamageService.cs b/src/NosCore.Algorithm/DamageService/DamageService.cs index ac7aab2..840750c 100644 --- a/src/NosCore.Algorithm/DamageService/DamageService.cs +++ b/src/NosCore.Algorithm/DamageService/DamageService.cs @@ -5,19 +5,18 @@ // ----------------------------------- using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.DamageService { public class DamageService : IDamageService { - private readonly long[,] _minDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _minDamage = new long[Constants.ClassCount, Constants.MaxLevel]; public DamageService() { _minDamage[(byte)CharacterClassType.Adventurer, 0] = 10; - _minDamage[(byte)CharacterClassType.Swordsman, 0] = 10; _minDamage[(byte)CharacterClassType.Archer, 0] = 60; + _minDamage[(byte)CharacterClassType.Swordsman, 0] = 10; _minDamage[(byte)CharacterClassType.Mage, 0] = 10; _minDamage[(byte)CharacterClassType.MartialArtist, 0] = 10; diff --git a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs index 51e1589..59946dd 100644 --- a/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs +++ b/src/NosCore.Algorithm/DistanceDefenceService/DistanceDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.DistanceDefenceService { public class DistanceDefenceService : IDistanceDefenceService { - private readonly long[,] _distanceDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _distanceDefence = new long[Constants.ClassCount, Constants.MaxLevel]; public DistanceDefenceService() { diff --git a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs index 54154be..8269265 100644 --- a/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs +++ b/src/NosCore.Algorithm/DistanceDodgeService/DistanceDodgeService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.DistanceDodgeService { public class DistanceDodgeService : IDistanceDodgeService { - private readonly long[,] _distanceDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _distanceDodge = new long[Constants.ClassCount, Constants.MaxLevel]; public DistanceDodgeService() { diff --git a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs index 20ee954..ae6db8f 100644 --- a/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs +++ b/src/NosCore.Algorithm/DodgeService/HitDodgeService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.HitDodgeService { public class HitDodgeService : IHitDodgeService { - private readonly long[,] _hitDodge = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hitDodge = new long[Constants.ClassCount, Constants.MaxLevel]; public HitDodgeService() { diff --git a/src/NosCore.Algorithm/HitRateService/HitRateService.cs b/src/NosCore.Algorithm/HitRateService/HitRateService.cs index 9078e4e..665b46b 100644 --- a/src/NosCore.Algorithm/HitRateService/HitRateService.cs +++ b/src/NosCore.Algorithm/HitRateService/HitRateService.cs @@ -5,13 +5,12 @@ // ----------------------------------- using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.HitRateService { public class HitRateService : IHitRateService { - private readonly long[,] _hitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hitRate = new long[Constants.ClassCount, Constants.MaxLevel]; public HitRateService() { var archerHitRate = 31; diff --git a/src/NosCore.Algorithm/HpService/HpService.cs b/src/NosCore.Algorithm/HpService/HpService.cs index 470033a..b09dd3e 100644 --- a/src/NosCore.Algorithm/HpService/HpService.cs +++ b/src/NosCore.Algorithm/HpService/HpService.cs @@ -11,7 +11,7 @@ namespace NosCore.Algorithm.HpService { public class HpService : IHpService { - private readonly long[,] _hpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _hpData = new long[Constants.ClassCount, Constants.MaxLevel]; public readonly int[][] ClassConstants = new int[][] { new int[] { 0, 0, 0 }, new int[] { 8, 2, 0 }, new int[] { 3, 6, 1 }, new int[] { 0, 2, 8 }, new int[] { 5, 3, 2 } }; public HpService() diff --git a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs index ab4de41..9076489 100644 --- a/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs +++ b/src/NosCore.Algorithm/JobExperienceService/JobExperienceService.cs @@ -5,13 +5,12 @@ // ----------------------------------- using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.JobExperienceService { public class JobExperienceService : IJobExperienceService { - private readonly long[,] _jobXpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxJobLevel]; + private readonly long[,] _jobXpData = new long[Constants.ClassCount, Constants.MaxJobLevel]; public JobExperienceService() { diff --git a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs index c568b40..6e73091 100644 --- a/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs +++ b/src/NosCore.Algorithm/MagicDefenceService/MagicDefenceService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.MagicDefenceService { public class MagicDefenceService : IMagicDefenceService { - private readonly long[,] _magicDefence = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _magicDefence = new long[Constants.ClassCount, Constants.MaxLevel]; public MagicDefenceService() { diff --git a/src/NosCore.Algorithm/MpService/MpService.cs b/src/NosCore.Algorithm/MpService/MpService.cs index fe51753..2ec017e 100644 --- a/src/NosCore.Algorithm/MpService/MpService.cs +++ b/src/NosCore.Algorithm/MpService/MpService.cs @@ -5,13 +5,12 @@ // ----------------------------------- using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.MpService { public class MpService : IMpService { - private readonly long[,] _mpData = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _mpData = new long[Constants.ClassCount, Constants.MaxLevel]; public MpService() { diff --git a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs index 6c59f4f..75b25f3 100644 --- a/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs +++ b/src/NosCore.Algorithm/SecondaryDamageService/SecondaryDamageService.cs @@ -11,7 +11,7 @@ namespace NosCore.Algorithm.SecondaryDamageService { public class SecondaryDamageService : ISecondaryDamageService { - private readonly long[,] _secondaryMinDamage = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _secondaryMinDamage = new long[Constants.ClassCount, Constants.MaxLevel]; public SecondaryDamageService() { diff --git a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs index ed602f4..59df0d0 100644 --- a/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs +++ b/src/NosCore.Algorithm/SecondaryHitRateService/SecondaryHitRateService.cs @@ -1,11 +1,10 @@ using NosCore.Shared.Enumerations; -using System; namespace NosCore.Algorithm.SecondaryHitRateService { public class SecondaryHitRateService : ISecondaryHitRateService { - private readonly long[,] _secondaryHitRate = new long[Enum.GetNames(typeof(CharacterClassType)).Length, Constants.MaxLevel]; + private readonly long[,] _secondaryHitRate = new long[Constants.ClassCount, Constants.MaxLevel]; public SecondaryHitRateService() {