diff --git a/ImperatorToCK3.UnitTests/Imperator/Characters/CharacterTests.cs b/ImperatorToCK3.UnitTests/Imperator/Characters/CharacterTests.cs index 84f83de5b..b8d52ce4f 100644 --- a/ImperatorToCK3.UnitTests/Imperator/Characters/CharacterTests.cs +++ b/ImperatorToCK3.UnitTests/Imperator/Characters/CharacterTests.cs @@ -13,6 +13,7 @@ public class CharacterTests { private readonly GenesDB genesDB = new(); [Fact] public void FieldsCanBeSet() { + var dnaStr = "AAAAAAAAAAAAAAAAAH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="; var reader = new BufferedReader( "= {" + "\tcountry=69" + @@ -48,7 +49,7 @@ public void FieldsCanBeSet() { "\t}\n" + "\tnickname = \"the Great\"\n" + "\tattributes={ martial=1 finesse=2 charisma=3 zeal=4 }" + - "\tdna=\"paradoxianDna\"" + + "\tdna=\"" + dnaStr + "\"" + "\tage=56\n" + "\tprovince=69" + "\tprisoner_home=68" + @@ -156,7 +157,7 @@ public void FieldsCanBeSet() { Assert.Equal(2, character.Attributes.Finesse); Assert.Equal(3, character.Attributes.Charisma); Assert.Equal(4, character.Attributes.Zeal); - Assert.Equal("paradoxianDna", character.DNA); + Assert.Equal(dnaStr, character.DNA); Assert.Equal((uint)56, character.Age); Assert.Equal((ulong)69, character.ProvinceId); } @@ -205,10 +206,10 @@ public void CultureCanBeInheritedFromFamily() { } [Fact] - public void PortraitDataIsNotExtractedFromDnaOfWrongLength() { + public void PortraitDataIsNotExtractedFromEmptyDNAString() { var reader = new BufferedReader( // ReSharper disable once StringLiteralTypo - "={dna=\"AAAAAAAAAAAAAAAAAH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/AH8AfwB/==\"}" + "={dna=\"\"}" ); var character = ImperatorToCK3.Imperator.Characters.Character.Parse(reader, "42", genesDB); Assert.Null(character.PortraitData); diff --git a/ImperatorToCK3/CK3/Characters/DNAFactory.cs b/ImperatorToCK3/CK3/Characters/DNAFactory.cs index d458adb45..f2ade1cbc 100644 --- a/ImperatorToCK3/CK3/Characters/DNAFactory.cs +++ b/ImperatorToCK3/CK3/Characters/DNAFactory.cs @@ -320,7 +320,7 @@ public DNA GenerateDNA(Imperator.Characters.Character irCharacter, PortraitData IntSliderValueRecessive = 128 }); } - + return new DNA(id, colorDNAValues, morphDNAValues, accessoryDNAValues); } diff --git a/ImperatorToCK3/Imperator/Characters/Character.cs b/ImperatorToCK3/Imperator/Characters/Character.cs index 7514b7765..aede9b32a 100644 --- a/ImperatorToCK3/Imperator/Characters/Character.cs +++ b/ImperatorToCK3/Imperator/Characters/Character.cs @@ -189,7 +189,7 @@ public static Character Parse(BufferedReader reader, string idString, GenesDB? g parser.ParseStream(reader); if (genesDB is null) { Logger.Warn($"GenesDB is null when parsing character {idString}!"); - } else if (parsedCharacter.DNA?.Length == 552) { + } else if (parsedCharacter.DNA?.Length > 0) { parsedCharacter.PortraitData = new PortraitData(parsedCharacter.DNA, genesDB, parsedCharacter.AgeSex); }