feat: Moves skills to json file (#1411)

This commit is contained in:
Kamron Batman 2023-06-16 05:55:55 -07:00 • committed by GitHub
parent c18d0d23ff
commit baed849f10
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 906 additions and 109 deletions

View file

@ -1,4 +1,5 @@
using System;
using System.IO;
using System.Reflection;
using Server.Misc;
@ -16,6 +17,14 @@ namespace Server.Tests
// Load Configurations
ServerConfiguration.Load(true);
// Load UOContent.dll into the type resolver
ServerConfiguration.AssemblyDirectories.Add(Core.BaseDirectory);
var assembles = new [] { "UOContent.dll" };
AssemblyHandler.LoadAssemblies(assembles);
// Load Skills
SkillsInfo.Configure();
// Configure / Initialize
TestMapDefinitions.ConfigureTestMapDefinitions();

View file

@ -0,0 +1,51 @@
using System;
using Server;
using Server.Network;
using Server.Tests;
using Server.Tests.Network;
using Xunit;
namespace UOContent.Tests;
public class SkillPacketsTests : IClassFixture<ServerFixture>
{
[Theory]
[InlineData(SkillName.Alchemy, 0, 1)]
[InlineData(SkillName.Archery, 10, 1000)]
[InlineData(SkillName.Begging, 100000, 1000)]
public void TestSkillChange(SkillName skillName, int baseFixedPoint, int capFixedPoint)
{
var m = new Mobile((Serial)0x1);
m.DefaultMobileInit();
var skill = m.Skills[skillName];
skill.BaseFixedPoint = baseFixedPoint;
skill.CapFixedPoint = capFixedPoint;
var expected = new SkillChange(skill).Compile();
var ns = PacketTestUtilities.CreateTestNetState();
ns.SendSkillChange(skill);
var result = ns.SendPipe.Reader.TryRead();
AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
}
[Fact]
public void TestSkillsUpdate()
{
var m = new Mobile((Serial)0x1);
m.DefaultMobileInit();
var skills = m.Skills;
m.Skills[Utility.RandomSkill()].BaseFixedPoint = 1000;
var expected = new SkillUpdate(skills).Compile();
var ns = PacketTestUtilities.CreateTestNetState();
ns.SendSkillsUpdate(skills);
var result = ns.SendPipe.Reader.TryRead();
AssertThat.Equal(result.Buffer[0].AsSpan(0), expected);
}
}

View file

@ -10,5 +10,9 @@
<ProjectReference Include="..\Server\Server.csproj" />
<ProjectReference Include="..\Server.Tests\Server.Tests.csproj" />
<ProjectReference Include="..\UOContent\UOContent.csproj" />
<DataFiles Include="$(SolutionDir)\Distribution\Data\**" />
</ItemGroup>
<Target Name="CopyData" AfterTargets="AfterBuild">
<Copy SourceFiles="@(DataFiles)" DestinationFolder="$(OutDir)\Data\%(RecursiveDir)" />
</Target>
</Project>