Here my fix.
Change: AbstractCraftingSkill.cs
Old:
- Code: Select all
newItem.Weight *= -countToAdd;
Change here: from mul to add Weights:
- Code: Select all
newItem.Weight += -countToAdd;
- Code: Select all
InventoryItem newItem = null;
player.Inventory.BeginChanges();
foreach (DictionaryEntry de in changedSlots)
{
int countToAdd = (int)de.Value;
if (countToAdd > 0) // Add to exiting item
{
newItem = player.Inventory.GetItem((eInventorySlot)de.Key);
player.Inventory.AddCountToStack(newItem, countToAdd);
}
else
{
ItemUnique unique = new ItemUnique(craftItemData.ItemTemplate);
GameServer.Database.AddObject(unique);
newItem = new InventoryItem(unique);
newItem.IsCrafted = true;
newItem.Creator = player.Name;
newItem.Quality = GetQuality(player, craftItemData);
newItem.Count = -countToAdd;
newItem.Weight += -countToAdd; //newItem.Weight *= -countToAdd; change here: from mul to add
if ((int)de.Key > 0) // Create new item in the backpack
{
player.Inventory.AddItem((eInventorySlot)de.Key, newItem);
}
else // Create new item on the ground
I have tested it and it works.