Skip to content

Commit

Permalink
[HS-1356] Correct display of percentage buffs in metafile descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
baughj committed Jul 23, 2023
1 parent 28eace5 commit e3c3ac8
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 8 deletions.
11 changes: 6 additions & 5 deletions src/Extensions/StatModifiers.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ public string BonusString
defaultDesc += FormatBonusNum(BonusDex, "Dex");
defaultDesc += FormatBonusPct(BonusCrit, "Crit");
defaultDesc += FormatBonusPct(BonusMagicCrit, "Magic Crit");
defaultDesc += FormatBonusPct(BonusDmg, "Dmg", 8);
defaultDesc += FormatBonusPct(BonusHit, "Hit", 8);
defaultDesc += FormatBonusPct(BonusDmg, "Dmg");
defaultDesc += FormatBonusPct(BonusHit, "Hit");
defaultDesc += FormatBonusNum(BonusAc, "Ac");
defaultDesc += FormatBonusPct(BonusMr, "Mr");
defaultDesc += FormatBonusPct(BonusRegen, "Regen", 8);
defaultDesc += FormatBonusPct(BonusRegen, "Regen");
defaultDesc += FormatBonusPct(BonusReflectMagical, "Reflect Magic");
defaultDesc += FormatBonusPct(BonusReflectPhysical, "Reflect Phys");
defaultDesc += FormatBonusPct(BonusExtraGold, "Gold");
Expand All @@ -90,14 +90,15 @@ public static string FormatBonusPct(string bonus, string name, float scale = 1)
if (string.IsNullOrEmpty(bonus)) return string.Empty;
if (!double.TryParse(bonus, out var num)) return $"??? {name} \n";
num /= scale;
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num + "%" : num + "%")} {name} \n";
num = num * 100;
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num + "%" : num + "%")} {name}\n";
}

public static string FormatBonusNum(string bonus, string name)
{
if (string.IsNullOrEmpty(bonus)) return string.Empty;
if (!long.TryParse(bonus, out var num)) return $"??? {name} \n";
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num : num)} {name} \n";
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num : num)} {name}\n";
}

public static string Combine(string sm1, string sm2)
Expand Down
4 changes: 2 additions & 2 deletions src/Hybrasyl.Xml.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<TargetFramework>net7.0</TargetFramework>
<AssemblyName>Hybrasyl.Xml</AssemblyName>
<RootNamespace>Hybrasyl.Xml</RootNamespace>
<PackageVersion>0.9.3.12</PackageVersion>
<Version>0.9.3.12</Version>
<PackageVersion>0.9.3.13</PackageVersion>
<Version>0.9.3.13</Version>
<BuildDocFx Condition="'$(Configuration)'=='Debug'">false</BuildDocFx>
<PackageReadmeFile>README.md</PackageReadmeFile>
<Authors>ERISCO LLC</Authors>
Expand Down
9 changes: 9 additions & 0 deletions tests/XmlEntities.cs
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,13 @@ public void BehaviorSetImportStatAlloc()
merged = import & original;
Assert.Equal(original.StatAlloc, merged.StatAlloc);
}

[Fact]
public void ItemMetafileDescription()
{
var item = new Item();
item.Name = "Test";
item.Properties.StatModifiers = new StatModifiers() { BonusDmg = "0.005", BonusHit = "0.004", BonusInt = "2" };
Assert.Equal("+2 Int\n+0.5% Dmg\n+0.4% Hit\n",item.Properties.StatModifiers.BonusString);
}
}
2 changes: 1 addition & 1 deletion tests/XmlManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ private void ContainsExpectedData(XmlDataManager manager)
$"Element Tables: {manager.Count<ElementTable>()} Server Configs: {manager.Count<ServerConfig>()} Localization Files: {manager.Count<Localization>()}");
Assert.Equal(Directory.GetFiles(Path.Join(manager.RootPath, "castables"), "*.xml").Length,
manager.Count<Castable>());
Assert.Equal(156, manager.Count<Item>());
Assert.Equal(157, manager.Count<Item>());
Assert.Equal(Directory.GetFiles(Path.Join(manager.RootPath, "npcs"), "*.xml").Length, manager.Count<Npc>());
Assert.Equal(Directory.GetFiles(Path.Join(manager.RootPath, "maps"), "*.xml").Length, manager.Count<Map>());
Assert.Equal(17, manager.Count<Creature>());
Expand Down

0 comments on commit e3c3ac8

Please sign in to comment.