Skip to content

Commit

Permalink
Merge pull request #314 from hybrasyl/develop
Browse files Browse the repository at this point in the history
Hybrasyl 0.9.2 release
  • Loading branch information
baughj committed Oct 2, 2022
2 parents a17ee75 + 61e58ec commit e1ed845
Show file tree
Hide file tree
Showing 68 changed files with 4,347 additions and 3,176 deletions.
16 changes: 14 additions & 2 deletions HybrasylTests/Inventory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,20 @@ public void FindItemsByCategory(params Item[] items)


}

[Theory]
[MemberData(nameof(XmlItems))]
public void ContainsGuid(params Item[] items)
{
Fixture.TestUser.Inventory.Clear();
for (var x = 1; x < 6; x++)
{
var item = Game.World.CreateItem(items[0].Id);
Fixture.TestUser.AddItem(item);
Assert.True(Fixture.TestUser.Inventory.Contains(item));
}
}

[Theory]
[MemberData(nameof(XmlItems))]
public void AddItemsToInventory(params Item[] items)
Expand Down Expand Up @@ -217,8 +231,6 @@ public void SwapItems(params Item[] items)
Fixture.TestUser.SwapItem(4, 58);
Assert.True(Fixture.TestUser.Inventory[4] is null);
Assert.True(Fixture.TestUser.Inventory[58].Name == "Test Item");


}


Expand Down
4 changes: 2 additions & 2 deletions XML/XML.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<TargetFramework>net6.0</TargetFramework>
<AssemblyName>Hybrasyl.Xml</AssemblyName>
<RootNamespace>Hybrasyl.Xml</RootNamespace>
<PackageVersion>0.9.1</PackageVersion>
<Version>0.9.1</Version>
<PackageVersion>0.9.2</PackageVersion>
<Version>0.9.2</Version>
<BuildDocFx Condition="'$(Configuration)'=='Debug'">false</BuildDocFx>
</PropertyGroup>

Expand Down
2 changes: 2 additions & 0 deletions XML/XSD/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ public int Id
}
}

public Guid Guid { get; set; }

// Helper functions to deal with xml vagaries
public List<AddStatus> AddStatuses => Effects.Statuses?.Add ?? new List<AddStatus>();
public List<string> RemoveStatuses => Effects.Statuses?.Remove ?? new List<string>();
Expand Down
1 change: 1 addition & 0 deletions XML/XSD/Extensions/Item.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public static string GenerateId(string name, Gender gender)
x.Type == SlotRestrictionType.ItemProhibited);

public string Id => GenerateId(Name, Gender);
public int IdInt => int.Parse(Id, System.Globalization.NumberStyles.HexNumber);

public Item Clone()
{
Expand Down
57 changes: 30 additions & 27 deletions XML/XSD/Extensions/StatModifiers.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
using System;
using System.Reflection.Metadata.Ecma335;


namespace Hybrasyl.Xml;

public partial class StatModifiers
{

public static string FormatBonusPct(string bonus, string name)
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";
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num.ToString("P") : "-" + num.ToString("P"))} {name} \n";
num /= scale;
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.ToString("P") : "-" + num.ToString("P"))} {name} \n";
return num == 0 ? string.Empty : $"{(num > 0 ? "+" + num : num)} {name} \n";

}

Expand All @@ -26,29 +29,29 @@ public string BonusString
{
var defaultDesc = "";

defaultDesc += FormatBonusPct(BonusHp, "Hp");
defaultDesc += FormatBonusPct(BonusMp, "Mp");
defaultDesc += FormatBonusPct(BonusStr, "Str");
defaultDesc += FormatBonusPct(BonusInt, "Int");
defaultDesc += FormatBonusPct(BonusWis, "Wis");
defaultDesc += FormatBonusPct(BonusCon, "Con");
defaultDesc += FormatBonusPct(BonusDex, "Dex");
defaultDesc += FormatBonusNum(BonusCrit, "Crit");
defaultDesc += FormatBonusNum(BonusMagicCrit, "Magic Crit");
defaultDesc += FormatBonusPct(BonusDmg, "Dmg");
defaultDesc += FormatBonusPct(BonusHit, "Hit");
defaultDesc += FormatBonusPct(BonusAc, "Ac");
defaultDesc += FormatBonusNum(BonusHp, "Hp");
defaultDesc += FormatBonusNum(BonusMp, "Mp");
defaultDesc += FormatBonusNum(BonusStr, "Str");
defaultDesc += FormatBonusNum(BonusInt, "Int");
defaultDesc += FormatBonusNum(BonusWis, "Wis");
defaultDesc += FormatBonusNum(BonusCon, "Con");
defaultDesc += FormatBonusNum(BonusDex, "Dex");
defaultDesc += FormatBonusPct(BonusCrit, "Crit");
defaultDesc += FormatBonusPct(BonusMagicCrit, "Magic Crit");
defaultDesc += FormatBonusPct(BonusDmg, "Dmg", 8);
defaultDesc += FormatBonusPct(BonusHit, "Hit",8);
defaultDesc += FormatBonusNum(BonusAc, "Ac");
defaultDesc += FormatBonusPct(BonusMr, "Mr");
defaultDesc += FormatBonusPct(BonusRegen, "Regen");
defaultDesc += FormatBonusNum(BonusReflectMagical, "Reflect Magic");
defaultDesc += FormatBonusNum(BonusReflectPhysical, "Reflect Phys");
defaultDesc += FormatBonusNum(BonusExtraGold, "Gold");
defaultDesc += FormatBonusNum(BonusDodge, "Dodge");
defaultDesc += FormatBonusNum(BonusMagicDodge, "Magic Dodge");
defaultDesc += FormatBonusNum(BonusExtraXp, "Xp");
defaultDesc += FormatBonusNum(BonusExtraItemFind, "Items");
defaultDesc += FormatBonusNum(BonusLifeSteal, "Life Steal");
defaultDesc += FormatBonusNum(BonusManaSteal, "Mana Steal");
defaultDesc += FormatBonusPct(BonusRegen, "Regen",8);
defaultDesc += FormatBonusPct(BonusReflectMagical, "Reflect Magic");
defaultDesc += FormatBonusPct(BonusReflectPhysical, "Reflect Phys");
defaultDesc += FormatBonusPct(BonusExtraGold, "Gold");
defaultDesc += FormatBonusPct(BonusDodge, "Dodge");
defaultDesc += FormatBonusPct(BonusMagicDodge, "Magic Dodge");
defaultDesc += FormatBonusPct(BonusExtraXp, "Xp");
defaultDesc += FormatBonusPct(BonusExtraItemFind, "Items");
defaultDesc += FormatBonusPct(BonusLifeSteal, "Life Steal");
defaultDesc += FormatBonusPct(BonusManaSteal, "Mana Steal");
return defaultDesc;
}
}
Expand Down

0 comments on commit e1ed845

Please sign in to comment.